Já tohle používám jako zodpovědný uživatel a hlavně sám pro sebe v následující podobě - je to podobné jako od Jeza.m - ale s potvrzením souboru, o který se jedná:
Sub overit_soubor()
Cislo_Wbook = -1
For i = 1 To Workbooks.Count
If Workbooks(i).Name <> ThisWorkbook.Name Then
Dotaz = MsgBox("Doplnit data z otevřeného souboru" _
& vbNewLine & Workbooks(i).Name & " ?", vbYesNo, _
"Výběr souboru")
Select Case Dotaz
Case vbNo
GoTo NE_Dalsi_soubor
Case vbYes
Cislo_Wbook = i
Exit For
End Select
End If
NE_Dalsi_soubor:
Next i
' --------
If Cislo_Wbook < 0 Then
MsgBox "Soubor není určen, musí být otevřený!"
Exit Sub
End If
' zde po vyberu souboru dalsi cinnost, zde jen msgbox
Cesta_B = Workbooks(Cislo_Wbook).Path & "\" & Workbooks(Cislo_Wbook).Name
Jmeno_B = Workbooks(Cislo_Wbook).Name
MsgBox "pracuju se souborem " & Cesta_B
End Sub
Zajímavé: provedu postup podle eLCHa 1-3 a po CTRL+A vidím oblast 69:100, ale vidím kosočtverec nahoře u ř.69 a funguje na celou oblast. A dole mě otravuje "rychlá analýza" (dá se to někde zabít?). Excel 2013 32b součást MSOffice 365 ProPlus
Range("N24:O24").MergeCells = False
=KDYŽ(JE.PRÁZDNÉ(E5);"";E5-C5) ?
Tak jen souhrn řešení eLCha v souboru, co jsem si dělal pro sebe, často se tu učím....
Jako na zavolanou. Trochu jsem se v tom hrabal, spíš sám pro sebe, jestli bych to uměl dotáhnout do funkčního stavu.
Původní moje myšlenka byla: proč přidávat složitě položky do formuláře, nešlo by to jinak?
V příloze jsou 2 verze:
V první je to pomocí jednoho formuláře, s výběrem položky, ale tím zapisuje změnu jen jedné položky skladu. Stisknuté tlačítko způsobí přidání/odebrání.
Ve druhé je k zápisu změn použitý přímo list - to mi přijde lepší, jde změnit cokoliv najednou, kladná hodnota přidá, záporná ubere.
Mimoto jsem jen trochu upravil tabulky v listech, aby se mi s tím líp pracovalo.
Berte to jako ukázku, není to dotažené k dokonalosti, ale vyzkoušejte.
Vysvětlení je jasné. Asi by stačilo změnit jeden řádek např. takto, pro název v B1:
strFile_Path = "C:\Users\pkoci\Desktop\" & Range("B1") & ".txt"
Jenom nápad, vím že Lotusy tyto exportované/otevřené soubory mají stejně uložené ve svém Tempu, někde na disku. Tak tím makrem zkusit najít ten správný soubor (což bude asi složité )a ten si otevřít znovu pro čerpání dat.
V příloze pár ukázek, je to jen základ, jak s tím pracovat.
Nedávno jsem řešil něco podobného. Definovat nebo upravit název mi jde jenom formou R1C1. Nevím proč. Text se proto musí sestavit do této podoby. Viz příloha.
něco takového:
Private Sub ComboBox1_Change()
Worksheets(1).Range("H1") = ComboBox1.Text
End Sub
nebo hodnotu plnit do proměnné a dál s tím pracovat.
Já to umím takto: Do buňky B10 napíšu %A1. Vyberu blok buněk B1:B10 a za roh táhnu do B2000. Nahrazením ctrl+h znaku % za = dostanu ty vzorce. Pár tahů, žádné přemýšlení.
Zkuste dát buňce se vzorcem formát Obecný, vzorec znovu potvrdit Enter. Mohlo by to být ono.
O vysvětlené se postaralo pár zdejších kapacit, já s nízkým levelem jen naznačím tu možnost "ako to obísť".
Pomocný sloupec C se vzorcem =WEEKNUM(A4;16), pak stačí obyčejné =SUMIFS(B4:B100;C4:C100;I12).
Nepotřebuju ty dlouhé megavzorce, já vždy hledám tu cestu, kterou umím.
Tam bude důležité použití $ ve vzorci. Skupina 4 buněk bude mít vzorec nasměrovaný na onu klíčovou buňku a formát téhle skupiny se pak kopíruje do řádku.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.