Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro"Daten aus Tabellen lesen"

Forumthread: Makro"Daten aus Tabellen lesen"

Makro"Daten aus Tabellen lesen"
16.05.2002 12:57:49
Markus M.
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

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Makro"Daten aus Tabellen lesen"
17.05.2002 18:41:29
BerndL
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.




Anzeige

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige