Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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

In Zelle Zahl voranstellen

In Zelle Zahl voranstellen
Askman
Hallo bräuchte mal eure Unterstützung
Suche Makrobefehl: An allen Zahlen in Spalte A die mit 11 beginnen 1100/ voransetzen.
Also: 11400 = 1100/11400
Zeilenanzahl ist variabel!
Besten Dank schon im voraus für eure Mühe!!!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: In Zelle Zahl voranstellen
30.08.2011 14:54:12
marcl
Hallo Askman,

Sub ersetzen()
Dim i As Long
' i ist die Zählvariable für die Zeilen
' Cells(Zeile, Spalte)
For i = 1 To ActiveSheet.UsedRange.Rows.Count ' ermittelt die Anzahl der verwendeten Zeilen
If Left(Cells(i, 1), 2) = "11" Then Cells(i, 1).Value = "1100/" & Cells(i, 1).Value
Next i
End Sub

Gruß
marcl
AW: In Zelle Zahl voranstellen
30.08.2011 14:59:55
Matthias
Hallo

Option Explicit
Sub die_Elf()
Dim x&
Application.ScreenUpdating = False
For x = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Left(Cells(x, 1), 2) = 11 Then Cells(x, 1) = "1100/" & Cells(x, 1)
Next
End Sub
Gruß Matthias
Anzeige
AW: In Zelle Zahl voranstellen
30.08.2011 15:12:32
Askman
Besten Dank an Beide.
Funktioniert prima. Bin ja schnelle Hilfe hier gewohnt, aber das war neuer Rekord. Danke!!!
AW: In Zelle Zahl voranstellen
30.08.2011 15:39:11
dave
Sinnvollerweise sollte man am Ende des Codes das Screenupdating aber wieder anschalten!
Gruß
David
Nöö, nöö ...
30.08.2011 16:23:33
Matthias
Hallo David
Zitat:
Sinnvollerweise sollte man am Ende des Codes das Screenupdating aber wieder anschalten!
Antwort:
Ist nicht immer,unbedingt notwendig.
Probier das mal:

Option Explicit
Sub die_Elf()
Dim x&
'zeigt den Zustand zu Beginn des Makro
MsgBox "Application.ScreenUpdating = " & Application.ScreenUpdating
Application.ScreenUpdating = False
For x = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Left(Cells(x, 1), 2) = 11 Then Cells(x, 1) = "1100/" & Cells(x, 1)
Next
End Sub
ScreenUpdating wurde hier im Code nicht wieder auf True gesetzt
Das macht Excel automatisch.
Lass den Code 2x laufen, Was bringt die MsGBox als Meldung ? Die Meldung bringt: WAHR !
Also ist die Bildschirmaktualisierung auch an (True)
Grundsätzlich, kann es aber nicht falsch sein es manuell wieder einzuschalten ;o)
Gruß Matthias
Anzeige
AW: Nöö, nöö ...
30.08.2011 16:27:39
dave
Nun, ich bin durchaus kein VBA-Profi.
Ich habe aber die Erfahrung gemacht, wenn ich Code laufen lasse, bei dem das am Anfang ausgeschaltet wird und der dann wegen eines Fehlers oder Ähnlichem abbricht, es dann im laufenden Excel-Betrieb zu merkwürdigem Verhalten kommen kann (nicht muss).
Ist meiner Meinung nach "sauberer", das manuell wieder zu setzen, als auf irgendwelche Automatismen zu vertrauen.
Gruß
David
Ist schon richtig ...
30.08.2011 16:54:11
Matthias
Hallo David
Ist ja auch grundsätzlich nicht falsch!
Und Profi bin ich auch nicht (im Gegenteil)
Zitat:
... und der dann wegen eines Fehlers oder Ähnlichem abbricht
Nur wenn ein Fehler den Code abbricht,
dann nützt auch ein Screenupdating=True am Ende nichts !
Der Code bricht ja dann ab!
Also wenn schon, dann generell eine Fehlerroutine einbauen,
On Error GoTo Fehler und bei der Sprungmarke Fehler
dann eben wieder einschalten,
oder so gut es geht "sauber programmieren".
Aber wem gelingt das schon immer zu 100% ;o)
Nix für Ungut, ich weiß ja was Du meintest und das war ja auch nicht falsch.
Gruß Matthias
Anzeige
AW: Ist schon richtig ...
30.08.2011 16:55:55
dave
das sollte ja nur die Erklärung sein, warum ich den Fall hatte, das das Screenupdating auf "false" gesetzt war.
Das man in dem Fall die Aktivierung nochmal im Direktfenster machen muss, ist schon klar.

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige