vor ein paar Jahren habe ich eine Funktion benötigt die (VBA) aus
externen Excel Dateien im selben Ordner gewünschte Zellinhalte
ausließt und in die Excel Mappe mit eben dieser Funktion wieder einfügt.
Hier der Code von damals, der auch gut funktioniert hatte:
Option Explicit
Sub Zeiten_lesen()
Dim strPath As String, strFile As String, strTabName As String
Dim lngR As Long
strPath = ActiveWorkbook.Path & "\"
strTabName = "Tätigkeitsnachweis" 'Name der Tabellenblätter anpassen!
strFile = Dir(strPath & "*.xlsx")
lngR = 2
With ThisWorkbook.Sheets("Auslesen") 'Name der Ausgabetabelle anpassen!
.Range("A3:B" & Rows.Count).ClearContents
Do Until strFile = ""
lngR = lngR + 1
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 1).Formula = "=SUM('" & strPath & "[" & _
strFile & "]" & _
strTabName & "'!$A$5)"
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 2).Formula = "=('" & strPath & "[" & _
strFile & "]" & _
strTabName & "'!$B$5)"
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 3).Formula = "=('" & strPath & "[" & _
strFile & "]" & _
strTabName & "'!$C$5)"
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 4).Formula = "=SUM('" & strPath & "[" & _
strFile & "]" & _
strTabName & "'!$E$5)"
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 5).Formula = "=SUM('" & strPath & "[" & _
strFile & "]" & _
strTabName & "'!$F$5)"
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 6).Formula = "=SUM('" & strPath & "[" & _
strFile & "]" & _
strTabName & "'!$G$5)"
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 7).Formula = "=('" & strPath & "[" & _
strFile & "]" & _
strTabName & "'!$C$6)"
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 2) = .Cells(lngR, 2).Value
strFile = Dir
Loop
End With
End Sub
Nun haben sich die einzulesenden Daten von .xlsx auf .xlsm geändert.
Diese Änderung habe ich in dem Code angepasst, beim ausführen des Makros werden
auch wie damals gewünschte Inhalte übertragen aber der Debugger stoppt dannn den
Vorgang bei
ThisWorkbook.Sheets("Auslesen").Cells(lngR, 1).Formula = "=SUM('" & strPath & "[" & strFile & "] _
_
" & _
Nun frage ich mich, hat sich an der schreibweise des Codes ggf. geändert?
Hatte damals Excel 2010 und nun 2013.
Über Hilfe wäre ich dankbar.
VG