Makro"Daten aus Tabellen lesen"



Excel-Version: 10.0 (Office XP)
nach unten

Betrifft: Makro"Daten aus Tabellen lesen"
von: Markus M.
Geschrieben am: 16.05.2002 - 12:57:49

Hallo!
Das folgende Makro kann zwar die Daten aus geschlossenen Arbeitsmappen auslesen, aber nicht Werte, die aus Formeln stammen. Welchen Befehl muß ich in das Makro einbauen, damit auf Werte in Zellen mit Funktionen zugegriffen werden kann?
Danke im voraus! Schöne Grüße!
Markus

Sub dateienAuslesen()

Dim rng As Range
Dim arrf As Variant
Dim intc As Integer
Dim intr As Integer
Dim inta As Integer
Dim strp As String
Dim strf As String
Dim strt As String

Application.screenupdating = False

strp = "H:\"
arrf = filearray(strp, "*.xls")
For intc = 1 To UBound(arrf)
If FileDateTime(strp & arrf(intc)) <= Date + 1 Then
If IsEmpty(Cells(7, 3)) Then
Set rng = Range("C7")
Else: Set rng = Cells(Rows.Count, 3).End(xlUp).Offset(1, 0)
End If
rng.Value = strp & arrf(intc)
strf = "='"
strf = strf & strp & "["
strf = strf & arrf(intc) & "]"
strf = strf & "Tabelle1'!"
strt = Right(strf, Len(strf) - 1)
strf = strf & "F1"
rng.Offset(0, 1).Formula = strf
rng.Offset(0, 2).Formula = "=counta(" & strt & "F:F)"
intr = rng.Offset(0, 2).Value
If intr > 0 Then
rng.Offset(0, 2).Formula = "=" & strt & "F" & intr
Else: rng.Offset(0, 2).ClearContents
End If
End If
Next intc

End Sub

Function filearray(strp As String, strpa As String)

Dim arrdn()
Dim intc As Integer
Dim dtrd As String

If Right(strp, 1) <> "\" Then strp = strp & "\"
strd = Dir(strp & strpa)
Do While strd <> ""
intc = intc + 1
ReDim Preserve arrdn(1 To intc)
arrdn(intc) = strd
strd = Dir()
Loop
filearray = arrdn

End Function

nach oben   nach unten

Re: Makro"Daten aus Tabellen lesen"
von: BerndL
Geschrieben am: 17.05.2002 - 18:41:29

Also unter Office97 klappt's - zumindest nachdem man den Tipfehler in der Function behoben ("Dim strd As String" statt "Dim dtrd As String") geändert hat - recht gut.
Habe mal Testweise in einer F1-Zelle die Formel =G1*H1 (mit G1=2, H1=3) eingetragen und als Resultat wurde mir nach Durchlauf Deines Makros "6" angezeigt.

Ausnahme: Wenn die Quelldateien kein Blatt namens "Tabelle1" besitzen; dann läuft man in einen Fehler, verursacht durch "#BEZUG", hinein.




 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Makro"Daten aus Tabellen lesen""