|
AutoCAD VBA : Zugriff auf excel-zeile als Datensatz per ID
joern bosse am 19.05.2008 um 11:43 Uhr (0)
Hallo nochmal,ich glaube, ich bin bereits weitergekommen, dank des Beitrages http://ww3.cad.de/foren/ubb/Forum259/HTML/000849.shtml#000017 Ungefähr zu folgenden Ergebnis bin ich gekommen, mit großen Datenmengen habe ich das allerdings noch nicht getestet.Code:Sub LD_test(Pfad)Dim ExcelWb As Excel.WorkbookDim found As RangeDim Zelle_spalte_x_in_zeile_IDDim ID As StringDim Spalte As IntegerID = "2"Spalte = 5Set ExcelWb = Excel.Application.Workbooks.Open(FileName:=Pfad)Set found = ActiveSheet.Columns("A:A"). ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Zugriff auf excel-zeile als Datensatz per ID
joern bosse am 20.05.2008 um 15:02 Uhr (0)
Hallo Anton,danke, so gehts, allerdings bin ich zur Zeit auch in Excel unterwegs. Die REDIM-Anweisung habe ich vor die FOR-Next-Schleife gebaut:Code: Dim MitArbeiter() As String ReDim MitArbeiter(Cells(Rows.Count, 1).End(xlUp).Row) For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row MitArbeiter(i) = Cells(i, 1).Value Next------------------viele GrüßeJörn
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : in Excel schreiben: schlechte Performance
joern bosse am 29.05.2008 um 09:18 Uhr (0)
Hallo,ich möchte mit VBA eine Exceldatei öffnen und die Zellen beschreiben, mein Problem ist die Performance: das dauert ewig. Also gehe ich erstmal davon aus, das ich irgendwas komplett falsch mache.Vom Prinzip bin ich so an die Sache rangegangen:Code:Dim ExcelWorkbook As Excel.WorkbookDim ExcelWorksheet As Excel.WorksheetDim Pfad As StringPfad = "c: empmuster2.xls"Set ExcelWorkbook = Excel.Application.Workbooks.Open(FileName:=Pfad)Set ExcelWorksheet = ExcelWorkbook.ActiveSheetExcelWorksheet.Cells((1 + j) ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : in Excel schreiben: schlechte Performance
joern bosse am 23.06.2008 um 12:17 Uhr (0)
Hallo Chris, Zitat:Aber wie ich sehe hast es eh raus!Das stimmt wohl, aber jetzt fühle ich mich nicht mehr ganz so allein ------------------viele GrüßeJörn
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Zugriff auf excel-zeile als Datensatz per ID
joern bosse am 19.05.2008 um 09:59 Uhr (0)
Hallo,ich möchte Daten einlesen von einer Excelzeile. Dabei ist in der ersten Spalte jeweils die ID eingetragen, z.B. eine Nummer.Gibt es eine Möglichkeit, auf diese Zeile anhand der bekannten ID zuzugreifen?Die Möglichkeit einer Schleife, in der pro Zeile geprüft wird, ob die ID mit der gesuchten übereinstimmt würde ich ungerne verwenden.Meine Befürchtung ist, das bei Verwendung einer Schleife die Performace bei größeren Datensätzen ganz schön leidet.Ich möchte das nochmal verdeutlichen, wie ich so etwas ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : in Excel schreiben: schlechte Performance
joern bosse am 31.05.2008 um 08:37 Uhr (0)
Auch wenn dies hier so langsam ein einsames Selbstgespräch wird, ich habe den Schuldigen für das Problem gefunden: Der Druckbereich, nachdem ich ihn entfernt war die Performance wieder in Ordnung. Warum auch immer , ich bin jetzt glücklich ------------------viele GrüßeJörn
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Zugriff auf excel-zeile als Datensatz per ID
joern bosse am 20.05.2008 um 17:22 Uhr (0)
Hallo Fuchsi, der Grund ist, das ich beim googlen desöfteren gelesen habe, das die Verwendung von REDIM PRESERVE die Leistung stark vermindert, ob es stimmt? Keine Ahnung, das wird bei meinen paar Einträgen eh nicht auffallen. Und der wahre Grund ist, beim Testdurchlauf mit REDIM PRESERVE wurde mir irgendein Fehler an dieser Stelle ausgegeben, ich hatte keine Lust mehr zu suchen und daher habe ich das REDIM einfach vorweg gebastelt.Schönen Feierabend------------------viele GrüßeJörn
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : in Excel schreiben: schlechte Performance
joern bosse am 30.05.2008 um 15:14 Uhr (0)
Hallo, ich nochmal,ein paar neue Erkenntnisse habe ich dazugewonnen:Es gibt eine bißchen effizientere Methode zum beschreiben der Zeilen:Code:For j = 0 To 7 With ExcelWorkbook.Worksheets("codiertes Aufmass") .Range(.Cells((i + 2), (j + 1)), .Cells((i + 2), 7)) = "Zelle " & CStr(i + 2) & "," & CStr(j + 1) End WithDas ist aber nicht das eigentliche Problem gewesen, der Übeltäter war die Datei "muster2.xls", irgendwas ist da drin, was den Schreibvorgang extrem ausbremst, wenn ich eine andere Datei nehme ge ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Zugriff auf excel-zeile als Datensatz per ID
joern bosse am 20.05.2008 um 11:30 Uhr (0)
Hallo Anton,danke erstmal für Dein Antwort.Also meine Datenmenge wird ungefähr 2000 Zeilen groß sein. Mit der Find-Methode komme ich da auch wirklich schnell zum Ergebnis.Hätte es jetzt nicht funktioniert, dann hätte ich mich bestimmt mit dem Microsoft Scripting.Dictionary Objekt auseinandergesetzt, hatte ich bis jetzt noch nichts von gehört.Aber das mit dem Klassenmodul habe ich gleich für meine Variante übernommen (auch noch alles Neuland für mich).Eine weiter Frage hätte ich aber noch.Ich möchte von der ...
|
| In das Form AutoCAD VBA wechseln |