Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1260to1264
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro schneller machen - suchen/ersetzen

Makro schneller machen - suchen/ersetzen
lutz
Hallo Excel-Profis,
ich muß eine SAP-Liste umformatieren und habe dazu folgendes Makro:
Sub PunktinKomma()
Speed_on
Dim c As Range
For Each c In Selection.Cells
If (Not IsEmpty(c)) And (Not IsNull(c)) Then
If Left(c.Formula, 1) = "'" Then
c = Application.Substitute(c, ".", ",")
Else
c = "'" & Application.Substitute(c, ".", ",")
End If
End If
Next c
Speed_off
End Sub
Sub TextinZahl()
Speed_on
Dim c As Range
For Each c In Selection.Cells
If (Not IsEmpty(c)) And (Not IsNull(c)) Then
If Left(c.Formula, 1) = "=" Then
c = Application.Substitute(c, "'", "") * 1
Else
c = Application.Substitute(c, "'", "") * 1
End If
End If
Next c
With Selection
.HorizontalAlignment = xlGeneral
End With
Speed_off
End Sub

Sub Speed_on()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.Calculation = xlManual
End Sub
Sub Speed_off()
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
Application.Calculation = xlAutomatic
End Sub
Die Makros lasse ich beide hintereinander laufen - leider dauert jedes bei über 60.000 Datensätzen über 3 Minuten - trotz Speed_on und Speed_off.
Kenn jemand einen Weg das zu beschleunigen?
Vielen Dank für Eure Hilfe und viele Grüße Lutz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro schneller machen - suchen/ersetzen
01.05.2012 16:49:52
Josef

Hallo Lutz,
probiere es mal ohne Schleife.
Sub umformatieren()
  
  With Selection
    .Replace ".", ","
    .TextToColumns Destination:=Selection.Cells(1, 1)
    .NumberFormat = "General"
    .HorizontalAlignment = xlGeneral
  End With
  
End Sub



« Gruß Sepp »

Anzeige
AW: Makro schneller machen - suchen/ersetzen
01.05.2012 18:08:13
lutz
Hallo Sepp,
vielen Dank - da raucht er leider ganz ab: das darf nur eine Spalte breit sein sagt Excel.
Vielleicht kann man es schon mal in eine Funktion zusammenbauen?
Manchmal macht die Reihenfolge der If then ja auch etwas aus?
Viele Grüße Lutz
AW: Makro schneller machen - suchen/ersetzen
01.05.2012 18:31:21
Josef

Hallo Lutz,
dann vielleicht so.
Sub umformatieren()
  Dim rngC As Range
  
  For Each rngC In Selection.Columns
    With rngC
      .Replace ".", ","
      .TextToColumns Destination:=rngC.Cells(1, 1)
      .NumberFormat = "General"
      .HorizontalAlignment = xlGeneral
    End With
  Next
  
End Sub



« Gruß Sepp »

Anzeige
AW: Makro schneller machen - suchen/ersetzen
01.05.2012 18:47:47
lutz
Hallo Sepp, tausend Dank - das ist echt flott.
Ich habe jetzt noch mal meine speed_on und _off da reingesetzt und es ist echt schnell.
Das sind 2 Mio Sätze und die gehen unter 2 Minuten durch!!
Vielen lieben Dank und noch einen schönen Abend, viele Grüße Lutz
AW: Makro schneller machen - suchen/ersetzen
01.05.2012 18:34:24
Reinhard
Hallo Lutz,
ich hab das jetzt nur überflogen.
Erklär mal bitte den Sinn dieses Else-Zweigs:
If Left(c.Formula, 1) = "=" Then
c = Application.Substitute(c, "'", "") * 1
Else
c = Application.Substitute(c, "'", "") * 1
End If
Ich mutmaße stark aufgrund deiner Fehlermeldung daß TextinSpalten nur eine Spalte umwandeln kann.
Ist aber kein großes problem, dann wandelt man halt deine Daten spaltenweise nacheinander um.
Hilfreich ist da sicher eine Beispielmappe von dir damit man sieht wieviele Spalten da SAP dir anliefert.
Datenzeilen kannste ja kürzen auf k.A.20-100, mußt du wissen.
Lad das Ding dann hoch.
Gruß
Reinhard
Anzeige
AW: Makro schneller machen - suchen/ersetzen
01.05.2012 18:49:10
lutz
Hallo Reinhard,
das habe ich mich auch schon gefragt - ist geerbt der Code.
Der letzte Code von Sepp ist echt flott - damit ist mein Problem gelöst.
Vielen lieben Dank für Deine Hilfe - viele Grüße Lutz

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige