Macro arbeitet sehr langsam Call

Bild

Betrifft: Macro arbeitet sehr langsam Call
von: Marcel
Geschrieben am: 14.04.2005 16:16:11
Hallo Forum,
ich habe das Problem das ein Programmteil auf einem Blatt sehr sehr langsam läuft ich schreibe mal einen Auszug aus einem Makro
Das entprechende TB ist Tabelle14 wisst Ihr voran das liegt?
vielen Dank Marcel
Auszug***************************************************
Tabelle4.Select 'Hochkomma im Wertebereich entfernen
Range("B17").Value = Range("B17").Value
Range("A28:F5000").Value = Range("A28:F5000").Value
Range("A28").Select

Tabelle14.Select 'Hochkomma im Wertebereich entfernen
Range("H15:AE17").Value = Range("H15:AE17").Value
Call hk1_weg_zelle_b
Call hk1_weg_zelle_c
Call hk1_weg_zelle_g
Range("G17").Select

Tabelle15.Select
Call hk1_weg_j
Call hk1_weg_zelle_a

Sheets("Termin").Select
Range("J1").Select
ActiveCell.FormulaR1C1 = "1"
Selection.Font.ColorIndex = 2
Selection.Copy
Range("J17:J10000").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Range("J17").Select
Application.CutCopyMode = False

**************************************************Auszug ende
Sub hk1_weg_zelle_a()
endup = Range("A65536").End(xlUp).Row
For i = 1 To endup
Range("A" & i).Activate
ActiveCell.Value = Right(ActiveCell.Value, Len(ActiveCell))
Next i
End Sub


Private Sub hk1_weg_zelle_b()
endup = Range("B65536").End(xlUp).Row
  For i = 1 To endup
  Range("B" & i).Activate
  ActiveCell.Value = Right(ActiveCell.Value, Len(ActiveCell))
  Next i
End Sub


Private Sub hk1_weg_zelle_c()
endup = Range("C65536").End(xlUp).Row
  For i = 1 To endup
  Range("C" & i).Activate
  ActiveCell.Value = Right(ActiveCell.Value, Len(ActiveCell))
  Next i
End Sub


Private Sub hk1_weg_a()
Columns("A:A").TextToColumns Destination:=Range("A1"), _
                DataType:=xlDelimited, FieldInfo:=Array(1, 4)
End Sub


Private Sub hk1_weg_b()
Columns("B:B").TextToColumns Destination:=Range("B1"), _
                DataType:=xlDelimited, FieldInfo:=Array(1, 4)
End Sub


Private Sub hk1_weg_c()
Columns("C:C").TextToColumns Destination:=Range("C1"), _
                DataType:=xlDelimited, FieldInfo:=Array(1, 4)
End Sub

Bild

Betrifft: AW: Macro arbeitet sehr langsam Call
von: Martin Beck
Geschrieben am: 14.04.2005 16:55:23
Hallo Marcel,
der ganze Select- und Activate-Kram ist überflüssig und macht das Makro langsam. Schreib mal an den Anfang des Codes
Application.ScreenUpdating = False
Aus Interesse: Was soll denn die Zeile
ActiveCell.Value = Right(ActiveCell.Value, Len(ActiveCell))
jeweils bewirken? M.E. änderst Du damit den Zellinhalt doch gar nicht.
Gruß
Martin Beck
Bild

Betrifft: AW: Macro arbeitet sehr langsam Call
von: ANdreas
Geschrieben am: 14.04.2005 17:21:24
Hallo Martin,
ich glaube vor kurzem gabs hier im Forum diesen Fall, um ein evtl. führendes ' in einer Zelle zu entfernen.
Gruß
Andreas
Bild

Betrifft: AW: Macro arbeitet sehr langsam Call
von: ransi
Geschrieben am: 14.04.2005 17:43:45
hallo martin
ich denke mit
ActiveCell.Value = Right(ActiveCell.Value, Len(ActiveCell))
ändert er die formel (wenn denn eine in activecell steht) in einen festen wert.
Das selecten und activaten, da hast du natürlich recht, kann er sich wirklich schenken.
ransi
Bild

Betrifft: AW: Macro arbeitet sehr langsam Call
von: Marcel
Geschrieben am: 15.04.2005 08:15:03
Hallo Martin,
wie Andreas erwähnt hat, wird das führende Zeichen ' in der Zelle entfernt.
Der Code entfernt weiterhin die Formeln aus den Zellen.
Gruss
Marcel
PS: vielen Dank an euch alle, ich probiere das gleich mal aus :-)
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Macro arbeitet sehr langsam Call "