Thema Datum  Von Nutzer Rating
Antwort
Rot For each schleife übergabe
06.05.2018 22:42:01 amax
NotSolved
07.05.2018 18:35:03 Mackie
NotSolved
07.05.2018 22:45:54 amax
NotSolved
07.05.2018 23:08:49 Mackie
NotSolved

Ansicht des Beitrags:
Von:
amax
Datum:
06.05.2018 22:42:01
Views:
1162
Rating: Antwort:
  Ja
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





Ihre Antwort
  • 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: Name: Email:



  • 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
Rot For each schleife übergabe
06.05.2018 22:42:01 amax
NotSolved
07.05.2018 18:35:03 Mackie
NotSolved
07.05.2018 22:45:54 amax
NotSolved
07.05.2018 23:08:49 Mackie
NotSolved