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!)
Akú chybu to hlási?
Neprebiehajú po štarte nejaké aktualizácie pripojení, powerquery a pod?
Skúste vynechať parameter SaveChanges.
Priložte anonymizovanú prílohu.
Neviem stále o čom hovoríte. Ukážte mi na mojej verzii (na tom mojom súbore) kde to ukazuje čo zle. Ak to v mojej verzii ukazuje správne, tak ste to do svojej implementoval nesprávne/neúplne.
Výsledok môjho súboru:
Len z hlavy:
If Len(Dir(Cesta, vbDirectory))=0 Then MsgBox "Neexistuje !"
"mmmm rrrr" nebude fungovať nikde inde iba v CZ verzii. Preto som Vám to prerobil tak, aby to zožrali aj iné jazykové mutácie.
Mne funguje označenie sviatkov a významných dní pri prechode cez rok normálne. Do prvej bunky kde je TODAY/DNES napíšem napr. 12.12.2021 a v Marec/Březen 2022 mi normálne označí 8.3. a 15.3. Alebo ak zadám 30.12.2026 tak mi v marci označí okrem 8. a 15. aj Veľkú noc 26.,28.,29.
Ak myslíte niečo iné, popíšte to inak.
Riešil som Vám to na inom fóre
http://www.jaknaoffice.cz/2-forum/?id=7744
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.