Visual Basic: Excel Datenabfrage beschleunigen

Hallo www-Forum,

ich bin gerade Dabei, per VB in Excel eine Datenaktualisierung zu programmieren.
Konkret sollen 150 Zellen abgefragt werden, und wenn der Nutzer Text hinterlegt hat, aus einer weiteren Excel Datei mit eben diesem Zellinhalt als Dateinamen der Inhalt von 3 bestimmte Zeilen (mit den Werten Bedarf, Maximal-Kapazität und Normal-Kapazität in der ersten Spalte) kopiert werden, aus denen dann in der ersten Excel Datei ein Diagramm erzeugt wird.
Soweit so gut, das ganze funktioniert auch, nur dauert eine Aktualisierung der Datei 1:15 Minuten…

Könnt ihr mir sagen, wie ich folgenden Code (ist für 1 Feld, das ganze ist auf insgesamt 15 Arbeitsblättern jeweils 10 mal vorhanden) optimieren kann?


If Worksheets(„WSG30“).Cells(4, 1).Value = 0 Then
Worksheets(„WSG30“).ChartObjects(„Diagramm 3“).Visible = False
Else
Worksheets(„WSG30“).ChartObjects(„Diagramm 3“).Visible = True
Dateiname = Worksheets(„WSG30“).Cells(4, 1).Value & „.xlsx“
objexcel.Workbooks.Open (ThisWorkbook.Path & „“ & Dateiname)
objexcel.Visible = False
Set objsheet = objexcel.Sheets(„2012“)
izl = 30
Do Until inh = „Bedarf“
inh = objsheet.Cells(izl, 1).Value
izl = izl + 1
Loop
For Spalte = 4 To 15 Step 1
Worksheets(„Tabelle5“).Cells(58, Spalte).Value = objsheet.Cells(izl - 1, Spalte)
Next
Do Until inh = „Normal-Kapazität“
inh = objsheet.Cells(izl, 1).Value
izl = izl + 1
Loop
For Spalte = 4 To 15 Step 1
Worksheets(„Tabelle5“).Cells(61, Spalte).Value = objsheet.Cells(izl - 1, Spalte)
Next
Do Until inh = „Maximal-Kapazität“
inh = objsheet.Cells(izl, 1).Value
izl = izl + 1
Loop
For Spalte = 4 To 15 Step 1
Worksheets(„Tabelle5“).Cells(68, Spalte).Value = objsheet.Cells(izl - 1, Spalte)
Next
objexcel.Workbooks.Close
End If

Also direkt kann ich nicht helfen da ich mit excel wenig bis garnit zu tun habe (per VB natürlich)

Trotzdem muss ich fragen ist das vb, vb.net, oder vba?

Gruß Thomas

Ist wenn ich jetzt nicht völlig daneben liege VBA.
Schade, trotzdem Danke dass du dir Gedanken machst!

Liebe Grüße

Hallo Bewoka,
dieses Problem ist mir auch bekannt. Eine Lösung ist leider nicht bekannt. Versuche es mal mit dem Debugger. Setze Markierungspunkte und taste dich schrittweise zum zeitfressenden Befehl vor.