< návrat zpět

MS Excel


Téma: VBA Excel - Pomalé načítání dat do Listboxu rss

Zaslal/a 28.8.2015 9:48

Potřeboval bych poradit s kódem pro inicializaci Userformu, konkrétně se jedná o načítání dat do Listboxu, na mém počítači to načítá v řádu sekund, ale na jiném v řádu minut a to je už nepoužitelné pro praxi. Problém je asi v tom, že načítám data z jiného zavřeného sešitu. Poradí někdo kde by mohl být zakopaný pes? Díky


Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
Application.DisplayAlerts = False

ListBox1.ColumnCount = 7
ListBox1.ColumnWidths = "60;60;30;130;40;40;130"

Dim path As String
Dim workbookName As String
Dim worksheetName As String
Dim cell As String
Dim returnedValue As String
r = 5
c = 1
x = 0
path = "P:\Slozka\"
workbookName = "Soubor.xlsm"
worksheetName = "List"
cell = Cells(r, c).Address

returnedValue = "'" & path & "[" & workbookName & "]" & worksheetName & "'!" & Range(cell).Address(True, True, xlR1C1)
hodnota = ExecuteExcel4Macro(returnedValue)
Do While hodnota <> 0
ListBox1.AddItem
For y = 0 To 6
returnedValue = "'" & path & "[" & workbookName & "]" & worksheetName & "'!" & Range(cell).Offset(x, 0).Address(True, True, xlR1C1)
returnedValue1 = "'" & path & "[" & workbookName & "]" & worksheetName & "'!" & Range(cell).Offset(x, y).Address(True, True, xlR1C1)
hodnota1 = ExecuteExcel4Macro(returnedValue1)
If hodnota1 = 0 Then hodnota1 = ""

ListBox1.List(x, y) = hodnota1
Next y
hodnota = ExecuteExcel4Macro(returnedValue)
x = x + 1
Loop

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Zaslat odpověď >

Strana:  « předchozí  1 2 3
icon #026551
eLCHa
@Vovka
;))
Máte pravdu - pokud napíšeRange("A1:C100").Formula = "='Cesta\[Nazev]List'!A5"bude to fungovat také (nevyzkoušeno, ale předpokládám).
Někde na začátku jsem se rozhodl pro R1C1 - už nevím proč - zřejmě podle .Address(True, True, xlR1C1) v dotazu.
A pak už se všechny dotazy týkaly R1C1.

Jen dodám, že pokud používám relativní odkazy v kódu - tak vždy dávám přednost R1C1 - je to jednodušší (pro mne)citovat
#026553
avatar
Spadnul mi kámen ze srdce 5! Notaci R1C1 pokládám za geniální vynález např. kvůli tomu, že všechny rozkopírované vzorce mají ve své oblasti totožné znění R1C1. Jejich jazyk mi je ale cizí a těžko stravitelný (čtu ho pomalu a nerad).
Jediný skutečný problém s notací při psaní vzorců podle mne vzniká, pokud vzorec plním kódem VBA. Tam musím zapomenout na použití .FormulaLocal, abych nezpůsobil malér při budoucí práci s jinojazyčným Excelem. Ale vložení vzorce v notaci A1 do .Formula vždy dokáže nahradit vložení odpovídajícího vzorce v notaci R1C1 do .FormulaR1C1.
To říká mých patnáct let manželství s Excelem.citovat
#026571
elninoslov
@Vaclav-Vesely: Tak si to tu čítam, ale nevidím či a o koľko sa Vám to podarilo zrýchliť. Uveďte teda prosím pre úplnosť ako ste pokročil. Či už čas alebo prílohu.citovat

Strana:  « předchozí  1 2 3

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje