Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn in Spalte rechts von meiner Position ....

Wenn in Spalte rechts von meiner Position ....
24.05.2006 13:01:37
meiner
Hallo Zusammen,
ich habe einen laufenden VBA Code, bei dem ich letztendlich irgendeine Zelle markiert habe, nachdem der Code gelaufen ist (z. B. C1 oder F5)
Ich möchte diesen nun erweitern und anschließend noch folgendes einbauen:
Wenn rechts von mir leer ist, mache nichts (auch leer), wenn in der Zelle rechts von mir eine der Zahlen von 40 bis 99 stehen, schreibe in die Zelle, in der ich bin eine 19, wenn rechts von mir eine der Zahlen 00 bis 39 stehen, dann in die Zelle, in der ich mich befinde bitte eine 20 (=Jahrhundert).
Der Code sollte so lange laufen, bis rechts von mir keine Zahlen mehr stehen.
Wer kann mir helfen?
Danke im vorause - Erwin
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn in Spalte rechts von meiner Position ....
24.05.2006 16:48:08
meiner
Hallo Erwin,
die rechte Nachbarzelle der aktiven Zelle kannst du folgendermaßen prüfen:

Sub Test()
If Not IsEmpty(ActiveCell.Offset(0, 1)) Then
Select Case ActiveCell.Offset(0, 1).Value
'    Select Case Val(ActiveCell.Offset(0, 1).Value) ' Falls 00 bis 99 als Text in Nachbarzelle stehen
Case 0 To 39
ActiveCell.Value = 20
Case 40 To 99
ActiveCell.Value = 19
Case Else
' Do nothing
End Select
End If
End Sub

Nicht ganz verstandne habe ich diesen Satz:
"Der Code sollte so lange laufen, bis rechts von mir keine Zahlen mehr stehen."
Heißt das, dass mehrere Zellen rechts von der aktiven Zelle überprüft werden sollen, bis nichts mehr kommt?
Das könnte man in etwa so machen:

Sub Test()
I = 1
Do Until ActiveCell.Column + I = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count
If Not IsEmpty(ActiveCell.Offset(0, I)) Then
Select Case ActiveCell.Offset(0, I).Value
'      Select Case Val(ActiveCell.Offset(0, I).Value) ' Falls 00 bis 99 als Text in Nachbarzelle stehen
Case 0 To 39
ActiveCell.Value = 20
Case 40 To 99
ActiveCell.Value = 19
Case Else
' Do nothing
End Select
End If
I = I + 1
Loop
End Sub

Gruß
Franz
Anzeige
AW: Wenn in Spalte rechts von meiner Position ....
24.05.2006 17:02:14
meiner
Hallo Franz,
der 1. Code ist genau der, den ich brauche - super.
Jetzt müsste der nur noch so angepasst werden, dass er nicht nur die erste Zelle abarbeitet sondern weiterläuft.
So war das auch gemeint, als ich schrieb, ... bis nichts mehr kommt...
(wenn ich in A1 stehe prüft er jetzt nur B1; er soll aber auch B2, B3, ... prüfen, ob dort ein Wert drin steht - und dann auch abarbeiten bis in Spalte B nichts mehr kommt).
Vielleicht kann man das noch einbauen?
Danke - Erwin
Anzeige
AW: Wenn in Spalte rechts von meiner Position ....
24.05.2006 18:08:44
meiner
Hallo Erwin,
ohne jetzt deinen restlichen Code zu kennen könnte ich folgendes vorschlagen. Auch wenn er die von mir nicht sehr geliebten Select-Anweisungen enthält.

Sub Test()
Do
If Not IsEmpty(ActiveCell.Offset(0, 1)) Then
Select Case ActiveCell.Offset(0, 1).Value
'      Select Case Val(ActiveCell.Offset(0, 1).Value) ' Falls 00 bis 99 als Text in Nachbarzelle stehen
Case 0 To 39
ActiveCell.Value = 20
Case 40 To 99
ActiveCell.Value = 19
Case Else
' Do nothing
End Select
End If
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Row = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count
End Sub 

Gruß
Franz
Anzeige
AW: Wenn in Spalte rechts von meiner Position ....
24.05.2006 21:44:24
meiner
Hallo Franz,
super - herzlichen Dank - so klappts wunderbar
Grüße - Erwin
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige