Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
For each schleife übergabe |
06.05.2018 22:42:01 |
amax |
|
|
|
07.05.2018 18:35:03 |
Mackie |
|
|
|
07.05.2018 22:45:54 |
amax |
|
|
|
07.05.2018 23:08:49 |
Mackie |
|
|
Von:
amax |
Datum:
06.05.2018 22:42:01 |
Views:
1263 |
Rating:
|
Antwort:
|
Thema:
For each schleife übergabe |
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
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
For each schleife übergabe |
06.05.2018 22:42:01 |
amax |
|
|
|
07.05.2018 18:35:03 |
Mackie |
|
|
|
07.05.2018 22:45:54 |
amax |
|
|
|
07.05.2018 23:08:49 |
Mackie |
|
|