Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife Wert suchen ändern etc.

Schleife Wert suchen ändern etc.
24.07.2007 17:53:43
Michael
Hallo! Versuch über eine Schleife solange einen Wert zu ändern bis er den letzen Wert gefunden hat. Er soll in der Zelle a2 nach 3 suchen und danach in der nächsten Zelle gehen und in a3 dann auch die 3 eintragen. Danach die nächste Zelle aufsuchen usw.
a b
vorher nachher
13 13
3 3
13 3
3 3
13 3
13 13
213 213
3 3
13 3
13 13

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nachfrage
24.07.2007 19:55:02
Chaos
Servus,
ich weiß nicht, ob ich das richtig verstehe. Das Makro soll also die 3 suchen, wenn die "3" da ist soll, die "3" nebenan nach B geschrieben werden und der Wert der nächsten Zelle auch in B "3" werden. Ist der Wert der Zelle nicht "3", ist der Wert "3" und der Wert der vorhergehenden Zelle auch, dann soll die Zahl bestehen bleiben.
Ist das so richtig ?
Gruß´
Chaos

AW: Schleife Wert suchen ändern etc.
24.07.2007 20:41:00
Chaos
Servus,
das ist die Lösung:

Sub drei()
Dim i As Integer, r As Integer
r = Range("A65536").End(xlUp).Offset(0, 0).Row
For i = 1 To r Step 1
If Cells(i, 1).Value = 3 Then
Cells(i, 2).Value = 3
Cells(i + 1, 2).Value = 3
Else
If Cells(i, 2).Value  3 Then
Cells(i, 2).Value = Cells(i, 1).Value
End If
End If
Next i
End Sub


Diesen Code in das jeweilige Tabellenmodul(Alt+F11 und z.B. Tabelle1)
Gruß
Chaos

Anzeige
AW: Schleife Wert suchen ändern etc.
25.07.2007 12:31:00
Michael
Sorry, das ich mich jetzt erst melde. Die Lösung ist schon recht gut, ist es jedoch möglich alles nur in Spalte a erscheinen zu lassen ohne das ich eine Spalte kopiern oder löschen muss. D. h. wenn in Spalte a1 eine 3 steht die nächste Spalte a2 egal wecher Wert vorhanden ist eine 3 eigefügt wird. Dann in die nächste Spalte a3 geht und den Wert prüft ob eine 3 vorhanden ist. Wenn dieses nicht ist nächste Spalte a4 usw. .
Anfangs in Spalte A
3
5
7
3
9
12
nachher in Spalte A
3
3
7
3
3
12
r = Range("A65536").End(xlUp).Offset(0, 0).Row
Heist dieses Auswahl bis "a65536".nehme den letzten beschriebenen Wert(hier zahl 6) gebe diesen als zahl(integer zurück). ende(0,0)wenn die Zelle 0 ist?
Vielen Dank

Anzeige
AW: Schleife Wert suchen ändern etc.
25.07.2007 13:31:00
Chaos
Servus,
r = Range("A65536").End(xlUp).Offset(0, 0).Row
das bedeutet, suche die letzte beschriebene zelle in Spalte A, das wäre die erste: Range("A65536").End(xlUp). und mit Offset(0,0) wird die letzte beschriebene Zelle gewählt, Offset(1,0) ist die erste freie zelle nach dem Beschriebenen Bereich.
ich hab dir das, was du wolltest über einen kleinen Umweg gelöst (hinzufügen 1es Tabellenblattes, die werte aus a hineinkopieren, das makro laufen lassen, die Werte wieder nach A kopieren und anschließend dieses wieder löschen.
mir ist sonst kein anderer Algorithmus zur Lösung eingefallen, das siehst du allerdings nicht, da ScreenUpdating = False die Bilschirmaktualisierung verhindert.

Sub drei()
Dim i As Integer, r As Integer
Dim n As String, t As String
Application.DisplayAlerts = False
Application.ScreenUpdating = False
t = ActiveSheet.Name
r = Sheets(t).Range("A65536").End(xlUp).Offset(0, 0).Row
Sheets(t).Range("A1:A" & r).Copy
Sheets.Add
n = ActiveSheet.Name
Sheets(n).Range("A1").Insert
For i = 1 To r Step 1
If Sheets(n).Cells(i, 1).Value = 3 Then
Sheets(n).Cells(i, 2).Value = 3
Sheets(n).Cells(i + 1, 2).Value = 3
Else
If Sheets(n).Cells(i, 2).Value  3 Then
Sheets(n).Cells(i, 2).Value = Cells(i, 1).Value
End If
End If
Next i
Sheets(n).Range("B1:B" & r).Copy Destination:=Sheets(t).Range("A1")
Sheets(n).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Gruß
Chaos

Anzeige
AW: Schleife Wert suchen ändern etc.
25.07.2007 16:14:00
Michael
Hallo!
Vielen Dank! hat mir sehr geholfen.
Gruß Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige