Gewusst wie: füllen Sie die Daten aus .txt-Datei in Excel in VBA?
Ich versuche etwas zu schaffen, das zum Lesen von Daten von einem .txt-Datei, dann füllen Sie die Daten in .xls, aber nach öffnen der .txt Datei, wie bekomme ich die Daten aus? Grundsätzlich bin ich versucht zu bekommen, der die Dritte Spalte die Zeilen, datiert "04/06/2010'. Nachdem ich öffnen .txt-Datei, wenn ich ActiveSheet.Cells(row, col)
, die ActiveSheet
ist nicht auf .txt-Datei.
Meine .txt-Datei ist wie folgt (Leerzeichen getrennt):
04/05/10 23 29226
04/05/10 24 26942
04/06/10 1 23166
04/06/10 2 22072
04/06/10 3 21583
04/06/10 4 21390
Hier ist der code den ich habe:
Dim BidDate As Date
BidDate = '4/6/2010'
Workbooks.OpenText Filename:=ForecastFile, StartRow:=1, DataType:=xlDelimited, Space:=True
If Err.Number = 1004 Then
MsgBox ("The forecast file " & ForecastFile & " was not found.")
Exit Sub
End If
On Error GoTo 0
Dim row As Integer, col As Integer
row = 1
col = 1
cell_value = activeSheet.Cells(row, col)
MsgBox ("the cell_value=" & cell_value)
Do While (cell_value <> BidDate) And (cell_value <> "")
row = row + 1
cell_value = activeSheet.Cells(row, col)
' MsgBox ("the value is " & cell_value)
Loop
If cell_value = "" Then
MsgBox ("A load forecast for " & BidDate & " was not found in your current load forecast file titled '" + ForecastFile + ". " + "Make sure you have a load forecast for the current bid date and then open this spreadsheet again.")
ActiveWindow.Close
Exit Sub
End If
Kann jeder Punkt aus, wo es geht hier falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Unten im Beispiel habe ich die variable ws gleich dem Blatt ich will und ich bin in der Lage, verwenden Sie die variable zu finden, um das Blatt später. Das Schlüsselwort ActiveWorkbook sollte zeigen Sie auf der neu geöffneten text-Datei. Ich konnte sagen, was Sie tun wollten, mit der info, wie ich Sie gerade gemacht ein paar Sachen.
Generell sollten Sie vermeiden, mit der ActiveWorkbook-Objekt, es sei denn, Sie sind sicher, dass die Arbeitsmappe, die Sie verweisen möchten, wird immer aktiv, wenn der code ausgeführt wird. Stattdessen sollten Sie die Arbeitsmappe, die Sie gerade arbeiten mit einer Variablen. Theoretisch sollten Sie in der Lage sein zu verwenden, die OpenText-Methode, um dies zu tun, aber VBA nicht so. (Ich bin mir ziemlich sicher, dass es ein bug ist.) Also, gleich nachdem Sie öffnen Sie Ihren text-Datei, ich würde dies tun:
Dann, statt dieser...
...dies tun...
Folgende code liest die Textdatei und einfügen der Werte in die Zelle der Tabelle2. Allerdings, wenn Sie eine Formatierung in der Spalte Datum wird den trick tun
Beispiel : im folgenden code wird das format ändern, in '05/04/2010'