Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro für alle Dateien im Ornder anwenden

Makro für alle Dateien im Ornder anwenden
20.03.2018 11:41:34
Marco
Hallo!
Ich hab mir ein Makro gepastelt, dass ich nun für alle Dateien im Ornder anwenden möchte. Datei öffnen Makro ausführen, Datei schließen...
Ich habe schon etwas gesucht, aber irgendwie mag es nicht funktionieren.
Mein Makro bildet die Summe von verschiedenen Spalten. Die zu ausführenden Dateien sind alle gleich aufgebaut.
Aktuell habe ich folgenden Code:
Option Explicit
Const strPath As String = "C:\temp\Test\"
Sub Main()
Dim strDateiname As String
Dim wkbBook As Workbook
Dim lngLastRowQ As Long
Dim lngLastRowZ As Long
Dim lngLastCol As Long
Dim intCalc As Integer
On Error GoTo Fin
With Application
.ScreenUpdating = False
.AskToUpdateLinks = False
.EnableEvents = False
intCalc = .Calculation
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
'strDateiname = Dir$(ThisWorkbook.Path & "\*.xls")
strDateiname = Dir$(strPath & "*.xlsx")
Do While strDateiname  ""
If strDateiname  ThisWorkbook.Name Then
Set wkbBook = Workbooks.Open(strPath & strDateiname)
' mein Code
Dim lngLetzteZeile As Long
Dim i As Integer
With Worksheets("Tabelle1")
For i = 14 To 88
lngLetzteZeile = .Cells(Rows.Count, i).End(xlUp).Row
'eine Zeile darunter die Summe eintragen:
.Cells(lngLetzteZeile + 1, i).FormulaR1C1 = "=SUM(R17C:R[-1]C)"
'kopieren
Sheets("Tabelle2").Cells(2, i - 13) = .Cells(lngLetzteZeile + 1, i)
Next
End With
' mein Code Ende
wkbBook.Close False ' Oder True, wenn gespeichert werden soll
Set wkbBook = Nothing
End If
strDateiname = Dir$()
Loop
Fin:
Set wkbBook = Nothing
With Application
.ScreenUpdating = True
.AskToUpdateLinks = True
.EnableEvents = True
.Calculation = intCalc
.DisplayAlerts = True
End With
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub
Das Makro funktioniert irgendwie nur an der geöffneten Datei und dass macht er dafür 4x.
Kann mir jemand helfen?
Grüße Marco
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für alle Dateien im Ornder anwenden
20.03.2018 11:50:45
Marco
Ok, ich hatte den Code nur für die eine Arbeitsmappe.
Wenn ich den Code in einen CommandButton hinterlege, funktioniert es. :/
Danke!
AW: Makro für alle Dateien im Ornder anwenden
20.03.2018 11:59:46
UweD
Hallo
du musst genauer auf die jeweilige Datei, Tabelle referenzieren.
ungeprüft...

With wkbBook.Worksheets("Tabelle1")
For i = 14 To 88
lngLetzteZeile = .Cells(.Rows.Count, i).End(xlUp).Row
'eine Zeile darunter die Summe eintragen:
.Cells(lngLetzteZeile + 1, i).FormulaR1C1 = "=SUM(R17C:R[-1]C)"
'kopieren
ThisWorkbook.Sheets("Tabelle2").Cells(2,i-13)=.Cells( _
lngLetzteZeile+1,i)
Next
End With

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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