Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  2 3 4 5 6 7 8 9 10   další » ... 239

Chýba Vám tam ukončenie chodu makra pred "Copy:". Vám teraz makro za každých okolností pokračuje za podmienkou If.

musíte dať buď
...
End If

Exit Sub

Copy:
...


alebo, ak sa má Copy: správa iba preskočiť a makro pokračuje za ňou tak napr.
...
End If

GoTo Pokracuj

Copy:
MsgBox "kopírujem"

Pokracuj:
...


alebo tú správu a iné veci, čo chcete v jednotlivých prípadoch urobiť, urobte rovno v If Then Else

+-, ale veľmi bude záležať čo, kam, a koľkokrát budete logovať, zápis logu naraz alebo po jednom...

Vy chcete vypísať zoznam prvých neprejdených dátumov? V to prípade nemôžete brať do úvahy prvý riadok oblasti, ale prvý neprejdený, čo môže byť aj tretí a pod. Alebo za každých okolností vždy prvý? Napadlo ma, a čo tak to urobiť pri každom prepočítaní makrom? Rovnako ako očerveňovanie tlačítka?
Tie oblasti budú vždy rovnaké (počet, veľkosť, umiestnenie)?

Zmenené Podmienené formátovanie, zoraďovacia procedúra, volanie makier, doplnené hľadanie danej bunky do bunky pod tlačítko, prefarbenie tlačítka, zmena výberového zoznamu...

Ak máte hľadaný výraz v C1 a prehľadávané výrazy v A a lat. v B tak napr.:
=IFERROR(VLOOKUP(C1;A2:B100;2;FALSE);"")
=IFERROR(SVYHLEDAT(C1;A2:B100;2;NEPRAVDA);"")

Poslal som Vám SZ...

Asi nerozumiem čo chcete:
=HYPERLINK("#'List1'!M"&ROW();"123")
=HYPERTEXTOVÝ.ODKAZ("#'List1'!M"&ŘÁDEK();"123")

Skúste priložiť nejakú anonymizovanú prílohu. Keď si máme všetko vytvárať a premýšľať nad eventualitami, to je na figu...
Znázornite tam, aký požadujete výsledok - manuálne vyrobený.

Dalo by sa to obabrať ešte cez SUMPRODUCT/SOUČIN.SKALÁRNÍ bez zmeny pôvodných dát

Problém je v tom "dátume" - nie je to dátum. Treba ho previesť na dátum, nestačí iba nastaviť formát na dátum. Treba to napr. vynásobiť 1* alebo previesť text na stĺpce alebo dočasne pomocný stĺpec s DATEVALUE/DATEVALUE a pod.

Prípadne si do PERSONAL.XLSB hodiť makro, ktoré bude fungovať napr. skratkou Ctrl+M iba na hociakom súbore začínajúcom "Export" (prípadne iné pravidlo)
Sub CopyActiveUsedColumns()
Dim RNG As Range
With ActiveWorkbook
If Left(.Name, 6) = "Export" Then
Set RNG = Intersect(Selection.EntireColumn, .ActiveSheet.UsedRange)
If Not RNG Is Nothing Then RNG.Copy
End If
End With
End Sub

Nemáte to náhodou objekt Tabuľka? Nie obyč. tabuľka. Ak by ste to mohli prehodiť na objekt Tabuľka (Ctrl+T), tak by to bola brnkačka - iba klik na hornú hranu hlavičky.

To je jedno v ktorom module, ale iba 1 raz, nie v každom.
Ďalej ma napadlo, že Makro2 môže byť funkcia s návratovou hodnotou, napr.
Sub Makro1
Dim VysledokVypoctu as long
bla bla
VysledokVypoctu = fncMakro2
MsgBox "Výsledok " & VysledokVypoctu
End Sub


Function fncMakro2() as long
Dim Vypocet as long
bla bla
Vypocet = Vypocet + 1
fncMakro2 = Vypocet
End Function


Všetko bude záležať na viac veciach. Aká je to premenná, čo s ňou robíte pred tým, čo potom, makro je opakované, vnárané (rekurzívne), má sa uchovať po skončení všetkých makier, ...

EDIT:
Tak pozerám, že mi to cross-modul nefachá. Použite ten parameter ByRef, to fičí.

Áno. Nadefinujete si globálnu premennú v module
Dim globValue as long
Sub Makro1
bla bla
Call Makro2
MsgBox "upravená premenná " & globValue
End Sub


Sub Makro2
bla bla
globValue = globValue + 1
End Sub


alebo budete volať to druhé makro v premennou ByRef
Sub Makro1
Dim locValue as long
bla bla
Call Makro2 locValue
MsgBox "upravená premenná " & locValue
End Sub


Sub Makro2(ByRef locValue as long)
bla bla
locValue = locValue + 1
End Sub

Neskúšané - len tak z hlavy!

alebo si premennú uložíte do dočasnej bunky (ak sa jedná o takú premennú) prípadne do definovaného názvu.

Potom je tu ešte možnosť uložiť premennú do vlastností dokumentu to si z hlavy nepamätám.

Sub PrevodNaCislo()
With Worksheets("EXPORT")
.Range(.Range("J1"), .Cells(Rows.Count, "J").End(xlUp)).TextToColumns Destination:=.Range("J1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=False
End With
End Sub

Prípadne to použiť opakovane aj na iné stĺpce (s patričnou zmenou písmena stĺpca na všetkých 3 miestach!)


Strana:  1 ... « předchozí  2 3 4 5 6 7 8 9 10   další » ... 239

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse