Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1268to1272
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Msg- Box und Zähler

Msg- Box und Zähler
André
Hallo Leute!
Ich arbeite schon seit einiger Zeit mit diesem Makro. Ich kann es auch sehr gut an unterschiedliche Tabellen und Größen anpassen. Ihr habt mir damals sehr geholfen.
Ich möchte aber dieses Makro noch etwas vereinert haben. Jetzt läuft es so, dass wenn sich im Verzeichnis eiene Exceltabelle ohne Blatt "D" befindet, eine Fehlermeldung ausgegeben wird.
Ich möchte, das nachdem das Makro alle Daten in die Mappe übertragen hat eine Msg- Box erscheint, in der steht:" xxx Dateien eingelesen, x Dateien übersprungen.
Ich weiss, das geht mit For Next und einer Variable und so aber ich komm nicht ans Ziel.
Bitte helft mir!
Ich bedanke mich für Eure Hilfe und wünsche ein schönes Wochenende!
Private Sub CommandButton1_Click()
Dim strWB As String
Dim lngRow As Long
lngRow = 3
strWB = Dir(ThisWorkbook.Path & "\*.xls*", vbNormal)
With ThisWorkbook.Sheets("Tabelle2")
.Range("B3:R" & .Rows.Count) = ""
Do While strWB  ""
If strWB  ThisWorkbook.Name Then
With .Range(.Cells(lngRow, 2), .Cells(lngRow + 24, 110))
.Formula = "='" & ThisWorkbook.Path & "\[" & strWB & "]D'!B4"
.Value = .Value
End With
lngRow = lngRow + 25
End If
strWB = Dir
Loop
End With
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Msg- Box und Zähler
06.07.2012 10:27:26
guentherh

Private Sub CommandButton1_Click()
Dim strWB As String
Dim lngRow As Long
dim E_Zaehler as integer
dim U_Zaehler as integer
lngRow = 3
E_Zaehler=0
U_Zaehler=0
strWB = Dir(ThisWorkbook.Path & "\*.xls*", vbNormal)
With ThisWorkbook.Sheets("Tabelle2")
.Range("B3:R" & .Rows.Count) = ""
Do While strWB  ""
If strWB  ThisWorkbook.Name Then
With .Range(.Cells(lngRow, 2), .Cells(lngRow + 24, 110))
.Formula = "='" & ThisWorkbook.Path & "\[" & strWB & "]D'!B4"
.Value = .Value
End With
lngRow = lngRow + 25
E_Zaehler=E_Zaehler+1
else
U_Zaehler=U_Zaehler+1
End If
strWB = Dir
Loop
End With
msgbox E_Zaehler &  " Dateien eingelesen  -  " & U_Zaehler &  " Dateien übersprungen"
End Sub

Anzeige
AW: Msg- Box und Zähler
06.07.2012 10:57:47
André
Danke guentherh, dass mit der Msg- Box klappt sehr gut.
Aber die Meldung wenn eine Exceldatei ohne Blatt "D" dabei ist, kommt immer noch. Excel fragt dann in welchem Blatt er die Daten suchen soll.
Das hätte ich gern stillschweigend übersprungen und ohne Nachfrage gehabt.
Ich will nicht undankbar sein, so ist es schon fast perfekt.
Vielen Dank!
AW: Msg- Box und Zähler
06.07.2012 12:20:17
guentherh
Hallo André
funktioniert das:?
Private Sub CommandButton1_Click()
Dim strWB As String
Dim lngRow As Long
dim E_Zaehler as integer
dim U_Zaehler as integer
lngRow = 3
E_Zaehler=0
U_Zaehler=0
strWB = Dir(ThisWorkbook.Path & "\*.xls*", vbNormal)
With ThisWorkbook.Sheets("Tabelle2")
.Range("B3:R" & .Rows.Count) = ""
Do While strWB  ""
If strWB  ThisWorkbook.Name Then
on error goto keinDda
With .Range(.Cells(lngRow, 2), .Cells(lngRow + 24, 110))
on error goto 0
.Formula = "='" & ThisWorkbook.Path & "\[" & strWB & "]D'!B4"
.Value = .Value
End With
lngRow = lngRow + 25
E_Zaehler=E_Zaehler+1
else
nachDFehler:
U_Zaehler=U_Zaehler+1
End If
strWB = Dir
Loop
End With
msgbox E_Zaehler &  " Dateien eingelesen  -  " & U_Zaehler &  " Dateien übersprungen"
goto ende
keinDda:
on error goto 0
resume nachDFehler
Ende:
End Sub

Gruß,
Günther
Anzeige
AW: Msg- Box und Zähler
06.07.2012 12:52:43
André
Nee, die Fehlermeldung ist immer noch da. Ist aber nicht so schlimm, da müssen meine Leute solche Dateien vorher aus dem Verzeichnis nehmen.
Ich bedanke mich trozdem.
Die Antzeige, wieviel Dateien eingelesen wurden war mir am Wichtigsten.
AW: Msg- Box und Zähler
06.07.2012 15:23:18
Case
Hallo, :-)
wenn Du über eine Formel die Inhalte aus den Dateien holst, aber vorher wissen möchtest, ob das Tabellenbaltt vorhanden ist, musst Du über z. B. ADO dessen Vorhandensein prüfen. Dieses wiederrum verlangsamt den Code bei vielen Dateien deutlich. Ein Beispiel könnte ich Dir aber "zusammenfrickeln". ;-)
Servus
Case

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige