Option Explicit
Sub Test()
'Ersatz für Application.FileSearch entwickeln und testen
Dim Pfad As String 'Startpfad
Dim Daten As New Collection 'gesammelte Ergebinsse
Dim Eintrag As Variant
Pfad = ThisWorkbook.Path 'wenn dieses Programm unter Excel läuft
'Pfad = ActiveDocument.Path 'falls es unter Word laufen soll
'Mehrere Möglichkeiten für die Suche:
Call FileList(Daten, Pfad) 'Alles im aktuellen Ordner
'Call FileList(Daten, Pfad, "*.xl*") 'Exceldateien im aktuellen Ordner
'Call FileList(Daten, "C:\Xxxxx\yyyy") 'Inhalt von Ordner C:\Xxxxx\yyyy
'Call FileList(Daten, Pfad & "\..", "*.xl*") 'Excel im übergeordneten Ordner
If Daten.Count = 0 Then
MsgBox ("In Ordner " & Pfad & " Nichts gefunden.")
Exit Sub
End If
For Each Eintrag In Daten
'Testausgabe im Direktbereich (Funktionen: siehe voriger Abschnitt)
Debug.Print Pfadname_von(Eintrag) & amp; " " & amp; Dateiname_von(Eintrag)
'hier könnten dann Ihre weiteren Befehle stehen
'...
'...
Call Aufruf
Next Eintrag
End Sub
Sub TextzuZahl(R, X)
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Dim lngSpa As Long
Dim C As Range
Dim i As Long
lngSpa = Cells(2, Columns.Count).End(xlToLeft).Column
For Each C In R.UsedRange
If Not IsEmpty(C) And IsNumeric(C.Value) Then
C.Value = CDbl(C.Value)
End If
Next C
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub Aufruf()
Dim X As Workbook
Dim R As Worksheet
For Each R In ThisWorkbook.Sheets
Call TextzuZahl(R, X)
Next R
End Sub
Hallo,
ziel des Programmes war es eigentlich alle Excel Dateien in einem ordner zu öffnen und dort auf der UsedRange alle Textzeichen zu einer zahl zu formatieren. Für eine einzelne Tabelle hatte das super funktioniert.
wie funktioniert das ganze nun bei dem fall wenn man alle tabellen öffnet.
Das Problem liegt bei den for each schleifen.
ich glaube ich übergebe dort die falschen einheiten.
MFG
AMax
|