PelzigesTierchen Geschrieben 1. April 2004 Geschrieben 1. April 2004 Hallo, ich habe mal wieder ein Problem mit meinem Excel Tool. Wie kann ich den Subs denn beibringen dass alle Aktionen immer in einer zweiten Tabelle ausgeführt werden? Also ich habe die Tabelle1 und eine Tabelle2. Aus Tabelle1 wird ein Wert ausgelesen, dieser wird dann in der Tabelle2 verwendet und dort werden damit dann berechnungen durchgeführt. Mein Code dazu sieht so aus: mname = Tabelle1.Cells(11, 6) ' Zusatz zur Logfile bsp. Logfile1.log With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & Excel.ActiveWorkbook.Path & "\Logfile" & mname & ".log" _ , Destination:=Sheets("Tabelle2").Range("A1")) ... Nun meckert VBA aber dauernd was von wegen ungültiger Prozeduraufruf ungültiges Argument... Wo liegt denn mein (Denk-)Fehler? Danke schon mal für alle Tipps und Lösungen. Gruß, Micha. Zitieren
-roTekuGeL- Geschrieben 1. April 2004 Geschrieben 1. April 2004 Original geschrieben von PelzigesTierchen mname = Tabelle1.Cells(11, 6) ' Zusatz zur Logfile bsp. Logfile1.log With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & Excel.ActiveWorkbook.Path & "\Logfile" & mname & ".log" _ , Destination:=Sheets("Tabelle2").Range("A1")) kleine Frage... was willst du denn eigentlich machen? ich werd aus dem QueryTables nicht wirklich schlau :confused: Zitieren
PelzigesTierchen Geschrieben 1. April 2004 Autor Geschrieben 1. April 2004 Hi Rotekugel, wenn ich dir jetzt sage was ich genau machen will, dann schreib ich hier die Doku zu meinem Tool rein kann nen ganzes Weilchen dauern Aber im wesentlichen folgendes: Ich habe eine Logfile die mittels eines Eingabeformulars (Tabelle1) spezifiziert wird (Logfile1, Logfile2, Logfile3, usw...). diese Logfile soll ein eine andere Tabelle (Tabelle2) eingelesen werden. Was das mit den QueryTables auf sich hat, da bin ich überfragt, denn ich zeichne erst alles mit einem Makro auf und passe das dann an meine Anforderungen an. Keine Ahnung also was die QueryTables macht (Wie gesagt kein wirklichen Plan von VB und/oder VBA) Gelöst hab ich das nun auf folgende Art und weise: mname = tblEingabe.Cells(11, 6) With tblRechnen.QueryTables.Add(Connection:= _ "TEXT;" & Excel.ActiveWorkbook.Path & "\Logfile" & mname & ".log" _ , Destination:=Sheets("Berechnungen").Range("A1")) .Name = "Logfile" ... das heisst mname wird aus tblEingabe ein Wert zugewiesen (das 1 2 3 usw für die jeweilige Logdatei) Dann gehts weiter auf der Tabelle tblRechnen wo die ganzen Werte aus der Logdatei eingelesen werden und in die Tabelle geschrieben werden. Somit hab ich das Problem eigentlich gelöst (oder umgangen ) Wenn du ne alternative hast schau ich mir die gerne an, kann mir gut denken das mein Weg schmerzen bei Programmierern erzeugt aber dazu bin ich FiSi und nicht AE Gruß und Dank, Micha Zitieren
-roTekuGeL- Geschrieben 1. April 2004 Geschrieben 1. April 2004 ich frag mich nur noch wie du das Makro aufgezeichnet hast... also welche knöpfchen du dir da zusammengeklickt hast :confused: Zitieren
PelzigesTierchen Geschrieben 1. April 2004 Autor Geschrieben 1. April 2004 (In Excel) Makro aufzeichen starten: Daten -> externe Daten importieren Dort dann die Lofile suchen Feste Werte anklicken Spalteneigenschaften bestimmen Fertigstellen Und das Stück Code da oben ist die modifizierte Version der ersten Zeile dieses Makros. Das komplette Ding sieht so aus: With tblRechnen.QueryTables.Add(Connection:= _ "TEXT;" & Excel.ActiveWorkbook.Path & "\Logfile" & mname & ".log" _ , Destination:=Sheets("Berechnungen").Range("A1")) 'geändert relativer Pfad Sheets("Berechnungen").Select .Name = "Logfile" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 850 .TextFileStartRow = 1 .TextFileParseType = xlFixedWidth .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(2, 9, 5, 9, 9, 1, 9, 1, 1) .TextFileFixedColumnWidths = Array(3, 1, 8, 6, 1, 7, 1, 7) .TextFileDecimalSeparator = "." 'US-schreibweise von Dezimalwerten WICHTIG!!! .TextFileThousandsSeparator = "," 'US-schreibweise von 100er Trennung WICHTIG!!! .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With Also im wesentlichen ist das alles was mir das oben genannte Makro ausspuckt. Gruß, Micha. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.