Jde mi o to, že mám ve formuláři listbox, kde je zapnut multipleinput a cyklus, že se přiložená subrutina spustí znova pokud je označeno více zdrojů. Takže poprvé to udělá DataRVV a v případě např. 3 vybraných zdrojových souborů DataRVV2, DataRVV3.
Ano, při ukládání jsem byl upozorněn, že bude sešit uložen bez maker a proto jsem si to uložil znovu jako .xslm, ale bohužel jsem "zazipoval" .xslx. Moje blbost, tady je už .xslm. @Pavlus -> díky za tip, jdu to zkusit. Těch nových listů bude více. Doufám, že bude fungovat třeba něco jako Sheets.Add.Name = "DataRVV1" +1.
Zdravím,
mám cyklus, kterým spouštím marko v jiném modulu (příloha). Potřeboval bych vyřešit to, aby v případě, že v sešitu není zatím list "DataRVV" se list vytvořil, ale pokud už je tak, aby makro vytvořilo nový list, třeba "DataRVV1" a makro standardně pokračovalo a vytvořilo vše tak jako by to byl první list. Odkaz na"DataRVV" & Worksheets.Count mi nefunguje. Nevíte, jak bych to mohl řešit? Děkuji A.
Ahoj,
z listboxu si tahám do proměnné název zdrojového souboru, který se dále používá. Když je možné vybrat pouze jednu hodnotu vše funguje tak jak má, avšak nevím, jak to udělat pokud je tam multiselect. Je to možné nějak elegantně řešit? Popřípadě někam vypsat zdroj a pak se orientovat např. na ";" mezi slovy a dále to nějak použít?
Děkuji za pomoc
zdroj = ListBox1.Value a používám to pro otevření vhodného sešitu Application.Workbooks.Open ("C:\Users\mn\Desktop\makro\" & fir & "\" & zdroj)
Zdravím,
rád bych se zeptal zda je možné v COMBOBOXu procházet adresáře. Mám napsanou subrutinu, která mi vypíše .xls* v konkrétním adresáři, ale já bych potřeboval ještě o úroveň výš. Vypsat jednotlivé adresáře, proklikem otevřít a vybrat konkrétní soubor. Je to možné, nebo to musím řešit například v kombinaci s LISTBOXem?
Zde aktuální řešení:
Private Sub UserForm_Activate()
Dim SouboryKtere As String
Adresar = ThisWorkbook.Path & "\Zdroj\"
SouboryKtere = Dir(Adresar & "*.xls*")
With ListBox1
While SouboryKtere <> vbNullString
.AddItem SouboryKtere
SouboryKtere = Dir
Wend
End With
End Sub
Děkuji za pomoc.
Zdravím,
mám formulář, ze kterého spouštím makro. Ve formuláři mám listbox, kde se načítají .xls soubory, které chci použít jako vstup do makra, což mi bohužel nefunguje. Kód formuláře jsem přiložil. Nevěděl by prosím někdo, jak tento problém vyřešit a jak to pak zapsat do daného makra (jak nahradit „zdroj.xlsx“ v druhém kódu vybranou hodnotou z listboxu v formuláři)?
Dim Adresar As String
Private Sub CommandButton1_Click()
Dim OznacenySoubor As String
Set Adresar = ThisWorkbook.Path & "\Zdroj\"
If ListBox1.ListIndex = -1 Then MsgBox ("Označte soubor."): Exit Sub
OznacenySoubor = Adresar & ListBox1.Value
Select Case True
Case OptionButton1.Value: Call Module1.vyber1 (OznacenySoubor)
Case OptionButton3.Value: Call Module1.vyber2 (OznacenySoubor)
End Select
Unload Me
End Sub
Private Sub UserForm_Activate()
Dim SouboryKtere As String
Adresar = ThisWorkbook.Path & "\Zdroj\"
SouboryKtere = Dir(Adresar & "*.xls*")
With ListBox1
While SouboryKtere <> vbNullString
.AddItem SouboryKtere
SouboryKtere = Dir
Wend
End With
End Sub
Jak nahradit zdroj.xlsx za vybranou hodnotu z listboxu
Application.Workbooks.Open ("C:\Users\usr1\Desktop\J \ zdroj .xlsx"), UpdateLinks:=0
Workbooks("zdroj.xlsx").Worksheets("Data").Range("A40:B65").Copy
Popřípadě jestli to půjde takhle jednoduše nahradit i ve vzorci nepřímého odkazu (tj. název zdrojového sešitu v buňce M2)
Workbooks("makro.xlsm").Worksheets("Start").Range("F2:F28").Select
Selection.FormulaArray = _
"=VALUE(INDIRECT(""'[""&M2&"".xlsx]""&N3&""'!""&O4))"
Díky za pomoc
Dobrý den,
mám vyplé upozornění Application.DisplayAlerts = False ale i tak při otevírání jiného sešitu Workbooks.Open Filename:="C:\Users\......xlsx" se mě excel ptá zda aktualizovat zdroje. Nevíte prosím někdo, jak tento dotaz potlačit, aby makro bez přerušení pokračovalo. Díky
Zdravím,
Omlouvám se u kodu mi vypadl text, tady je...
děkuji za tip na formulář, je to opravdu mnohem elegantnější řešení.
V případě druhého problému se pokusím vyjádřit přesněji.
Mám zdrojový soubor a z několika jeho listů potřebuji vykopírovat určitá data a ty vložit do nového souboru a ty data rozdělit opět na více listů.
Potřeboval bych na začátek makra dát podmínku ve smyslu: Vyber daná data ze zdroje a vytvoř nový sešit, list a dej tam daná data. Pokud je již sešit vytvořen (protože se spustil už jiný výběrový dotaz), přidej k danému sešitu pouze list a tam ty dej.
Makro jako takové mi funguje, sice věřím, že to je velmi krkolomně napsané, ale funguje. Aktuálně bych potřeboval jen vyřešit výše popsaný problém.
Děkuji za pomoc
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.