Hallo,
mit VB6 kenne ich mich inzwischen etwas aus, nun muss ich aber Daten in eine Excel-Tabelle eintragen und finde den richtigen Weg nicht.
Wenn ich das für VB6 schreibe und die Daten statt in eine Excel-Tabelle in ein Flexgrid eintrage, sieht der Code dafür etwa so aus …
Private Sub Command1\_Click()
Dim Monat As String, Jahr As String
Dim ff As Integer, Feld() As String, Zl As String, n As Integer
Monat = Trim(Text1.Text)
Jahr = Trim(Text2.Text)
CommonDialog1.Filter = "\*" + Jahr + "-" + Monat + ".txt|\*" + Jahr + "-" + Monat + ".txt|"
CommonDialog1.ShowOpen
ff = FreeFile
n = 1
Open CommonDialog1.FileName For Input As #1
While Not EOF(1)
Line Input #1, Zl
Feld = Split(Zl, "|")
For c = LBound(Feld) To UBound(Feld)
MSFlexGrid1.TextMatrix(n, c) = Feld(c)
Next
n = n + 1
Wend
Close #1
End Sub
Aber wie kann ich das nach Excel-VBA umsetzen?
Von dem Code funktioniert fast nichts.
Lediglich ‚Cells(n, c) = Feld©‘ bekomme ich noch selbst hin.
Den ‚Commondialog‘ finde ich nicht, ‚Open‘ geht nicht, ‚Split‘ geht nicht …
Die Textdatei erzeuge ich übrigens auch selbst mit einem VB6-Programm. Eenn ich für Excel besser andere Trennzeichen verwenden sollte, ist das kein Problem. Die Zellen in der Exceltabelle, die da gefüttert werden soll liegen nicht wie hier im Beispiel direkt nebeneinander, da sind noch Zellen dazwischen, die Berechnungen aus den Daten enthalten. Nur falls es einfacher ist, ganze Zeilen einzufügen, denn dann dürfen die Zellen dazwischn nicht beschrieben werden.
Die Exceltabelle werde ich auch nicht selbst verwenden, der Umweg über diese Textdatei ist nötig.
Gruß Rainer
PS. Die Frage habe ich auch noch bei http://www.ActiveVb.de gestellt,
sobald das Problem gelöst ist, poste ich die Lösung hier.