Wie kann ich bei untenstehendem VBA-Code angeben, dass von der B.xls die Spalte AA jener Zeile A ausgelesen wird, welche dem aktuellem Systemdatum entspricht (Spalte A enthält Datumswerte, Spalte AA Beträge).
Das müsste irgendwie mit "Application.Match(CLng(Date)" funktionieren ? ...
Betroffen ist die Zeile: "Set rLetzte = Cells(Rows.Count, "AA")"
Option Explicit
Sub TestLeseTxT()
Dim sFormel As String, sPfad As String
Dim rLetzte As Range
Dim WertAusTxT, WertAusExcel
sPfad = "C:\Dokumente und Einstellungen\User\Desktop\test.txt"
If sPfad "Falsch" Then
'letzte Zelle in AA
Set rLetzte = Cells(Rows.Count, "AA")
'Pfad, Dateinamen und Tabellennamen anpassen
sFormel = "'C:\Dokumente und Einstellungen\User\Desktop\[B.xls]Tabelle1'!" & rLetzte.Address(, _
_
_
, xlR1C1)
WertAusExcel = LeseZeile1(CStr(sPfad))
WertAusTxT = ExecuteExcel4Macro(sFormel)
If IsNumeric(WertAusTxT) And IsNumeric(WertAusExcel) Then
MsgBox WertAusExcel * Exp(WertAusTxT), vbInformation, "Ausgabewert"
Else
MsgBox "Die Daten konnten nicht berechnet werden!"
End If
End If
End Sub
Function LeseZeile1(strPfad As String) As Double
Dim sLine As String
Dim F As Integer
F = FreeFile
Open strPfad For Input As #F
Line Input #F, sLine
Close #F
sLine = Replace(sLine, " ", vbTab)
If InStr(sLine, vbTab) > 0 Then
sLine = Right$(sLine, Len(sLine) - InStr(sLine, vbTab))
End If
If IsNumeric(sLine) Then
LeseZeile1 = CDbl(sLine)
End If
End Function