AW: Zeilennummer in VBA suchen
06.05.2008 11:59:00
David
nein, das geht leider nicht.
Hier das ganze Makro mit momentanen - nicht fertigem - Stand:
Sub Datei_öffnen()
Dim month, file, sap_file, year As String
month = InputBox("welcher Monat?", "Monatsabfrage")
If Len(month) = 1 Then month = "0" & month
file = ActiveWorkbook.Name
year = Mid(file, 5, 4)
sap_file = "L:\Finanz\VAT\" & year & "\" & month & "-" & year & "\SAP" & month & "-" & year _
& ".XLS"
On Error Resume Next
'Workbooks.OpenText Filename:=sap_file, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1)), _
TrailingMinusNumbers:=True
If Err.Number = 1004 Then MsgBox ("Datei " & sap_file & " existiert nicht! Bitte prüfen!")
'ActiveWindow.Visible = False
'With ActiveWorkbook
Dim Zeile, y, m As Integer
y = year * 1
m = month * 1
Zeile = Application.WorksheetFunction.Match(DateSerial(y, m, 1), Range("A:A"), 0)
'Rows("Zeile:Zeile+2").Replace What:="SAP00", Replacement:="SAP" & month, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
In meinem Test waren year = "2008" und month = "04". Zeile lieferte dann als Ergebnis 'leer'. Was mache ich falsch? (Das Datum 01.04.2008 existiert in Spalte A!)
und gleich noch eine Frage: in der Replace-Anweisung hatte ich testhalber Rows("33:35")... stehen. Wenn ich das durch die Variable 'Zeile' ersetzen will, wie lautet da die Syntax? Ich habe einige Versuche mit 'Zeile:Zeile+2' (mit und ohne "") unternommen, es aber nicht hinbekommen.
Danke schon mal für die Hilfe
David