Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
204to208
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
204to208
204to208
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

For..Next Schleife

For..Next Schleife
16.01.2003 15:58:50
Christian
Hallo zusammen,

ich habe ein kleines, grosses Problem mit folgendem Makro. Kurz eine Beschreibung des Ziels:

Mit Hilfe dieses Makroteils (welcher innerhalb eines Moduls untergebracht ist, soll in im Bereich Spalte F bis lastrow jede einzelne Zelle angesprochen werden um von der Textformatierung auf eine Standarformatierung zu kommen. Nur markieren und Standard wählen geht leider nicht, da dann nicht mit diesen Zahlen gerechnet werden kann..



Dim i As Integer
Dim Spalte As String
Dim lar As Integer

lar = Cells(Rows.Count, Spalte).End(xlUp).Row

Range("F2:F" & lar).Select

For i = 1 To lar
Selection.NumberFormat = "General"
SendKeys "{F2}"
SendKeys "{ENTER}"
Next

Range("A1").Select


Probleme wie folgt:
1.) Die Markierung der Range wird nicht augehoben
2.) Bedingt durch 1. klappt auch die Selektion von A1 am Ende nicht

Sicher muss ich nur irgendwie aus der for next schleife raus.. nur wie???

Danke im Voraus für eure Hilfe..

Gruß,
Christian

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

Betreff
Datum
Anwender
Anzeige
Re: For..Next Schleife
16.01.2003 16:06:57
L.Vira
Kann gar nicht gehen, Spalte ist nicht zugewiesen und muss z.B. ein Integer sein:
Dim i As Integer
Dim Spalte As String
Dim lar As Integer

lar = Cells(Rows.Count, Spalte).End(xlUp).Row

Re: For..Next Schleife
16.01.2003 16:12:05
Chris
Hallo Christian

Verstehe gar nicht wieso dass du eine For...Next Schleife brauchst. Auch versteh ich nicht wieso du Sendkey brauchst.

Geht es nicht auch so...?

Dim lar As Integer
lar = Range("F65536").End(xlUp).Row
Range("F2:F" & lar).Select
Selection.NumberFormat = "General"
Range("A1").Select

Gruss
Chris

Re: For..Next Schleife
16.01.2003 16:18:36
Christian
Hi,
danke für die schnelle Antwort. War mein Fehler, hätte richtig abtippen sollen, aber selbst wenn man es jetzt korrigiert betrachtet, bleibt das Problem erhalten. Wenn ich den teil einzeln in einer neuen Arbeitsmappe laufen lasse funktioniert er ja, aber nicht innerhalb des Moduls.......

Leider brauch ich dafür den "Druck" auf die F2 Taste, Bildlich gesehen, springt die als text formatierte Zahl dann von der linken seite auf die rechte seite und ist erst dann wirklich Standardformatiert...

Dim i As Integer
Dim lar As Integer

lar = Cells(Rows.Count, 1).End(xlUp).Row

Range("F2:F" & lar).Select

For i = 1 To lar
Selection.NumberFormat = "General"
SendKeys "{F2}"
SendKeys "{ENTER}"
Next

Range("A1").Select

Anzeige
Re: For..Next Schleife
16.01.2003 16:28:00
L.Vira
Option Explicit
Sub mach_was()
Dim i As Range
Dim lar As Integer
lar = Cells(Rows.Count, 6).End(xlUp).Row
Range("F2:F" & lar).NumberFormat = "General"
For Each i In Range("F2:F" & lar)
i = i * 1
Next
Range("A1").Select
End Sub

Re: For..Next Schleife
16.01.2003 16:33:49
Christian
Tausend Dank für die superschnelle Hilfe,

das war genau das, was ich benötigt habe......funktioniert grandios....

Thanks,
Christian

Re: For..Next Schleife
16.01.2003 16:35:05
Chris
Hallo Christian

L.Vira war wieder einmal schneller :-)

Anstatt F2 + Enter, kannst du die Zelle mit 1 multiplizieren.

Dim i As Integer
Dim lar As Integer

lar = Range("F65536").End(xlUp).Row

Range("F2:F" & lar).Select
Selection.NumberFormat = "General"

For i = 1 To lar
If IsNumeric(Cells(i, 6)) = True Then Cells(i, 6) = Cells(i, 6) * 1
Next

Range("A1").Select

Gruss
Chris

PS: L.Viras Makro ist noch ein bischen besser.

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige