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

wenn kein wert in Zelle, dann weitere zelle prüfen

wenn kein wert in Zelle, dann weitere zelle prüfen
09.05.2014 13:27:35
Maik
Hi,
ich brauche hilfe, wie ich in meinem kleinen code dem rechner sagen kann, dass er nach prüfung von r13, bei nicht leerer zelle zusätzlich zur nächsten zelle springt und diese ebenfalls überprüft.
sprich bei r13 und e13 sollte die 13 eine variable sein und hochzählen, bis die abbruchbedinung erfüllt ist.
Option Explicit
Sub test()
If Tabelle1.[r13] = "" Then
Else
Dim text As String
text = Tabelle1.[r13]
With Tabelle1.[e13]
.AddComment (text)
End With
End If
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: wenn kein wert in Zelle, dann weitere zelle prüfen
09.05.2014 13:39:18
EtoPHG
Hallo Maik,
VBA gut wie bitte?
1. Die [A1] Schreibweise in VBA bitte so schnelle wie möglich vergessen! Mit .Range/.Cells Objekten arbeiten!
2. Zitat: ...Zusätzlich... springen... ? Es gibt z.B. Do While Loop in VBA. Es ist zwar Frühling, aber springen ;-)
3. Text ist ein VBA-Keyword, sollte also nicht als Variablenamen missbraucht werden!
4. Was ist der Sinn des Code-Konstrukts an sich, bzw. was soll als Resultat rauskommen?
Gruess Hansueli

AW: wenn kein wert in Zelle, dann weitere zelle prüfen
09.05.2014 13:52:31
Maik
ich verstehe nicht, was du meinst :D
Option Explicit
Sub test()
Columns("E:E").Select
Selection.ClearComments
If Tabelle1.[r13] = "" Then
Else
Dim t As String
t = Tabelle1.[r13]
With Tabelle1.[e13]
.AddComment (t)
End With
End If
End Sub
das ist der code. Sinn dahinter ist, dass überprüft werden soll, ob etwas in r13 steht. wenn die zeile nicht leer ist, soll ein kommentar, der inr13 steht in e13 geschrieben werden UND die nächste zeile überprüft werden. also r14, überprüft, wenn nicht leer dann schreibe von r14 in e14.
damit ich nicht jede einzelne zeile eingeben muss, dachte ich mir, man kann in die vorhandene if schleife hinter else eine variable schrieben, die die 13 ersetzt und bei eintreten des else falles um 1 hochgezählt wird.
also eine rekursive if schleife :)
eigentlich reichen einfachste vba kenntnisse, es geht nur um die syntax, da ich nciht weiß, wie ich dem rechne rklarmachen soll, dass er immer +1 zur 13 dazuzählen soll.

Anzeige
Im Forum findest du Tausende Schleifen! (owT)
09.05.2014 13:55:09
EtoPHG

AW: Im Forum findest du Tausende Schleifen! (owT)
09.05.2014 14:04:08
Maik
die schleife besteht doch schon, ich weiß nur nicht, wie ich dem sagen kann, dass der bei r13 eine hochzählen soll
ich brauche eine variable die bei 13 +1 hochzählt
hab den code jetzt angepasst, wie er sein soll, nur kenne ich die syntax nicht von vba :(
darum geht es mir....
Option Explicit
Sub test()
Columns("E:E").Select
Selection.ClearComments
Dim x As Integer
x=13
If Tabelle1.[rx] = "" Then
Else
Dim t As String
t = Tabelle1.[r13]
With Tabelle1.[e13]
.AddComment (t)
x+1
End With
End If
End Sub

Anzeige
AW: Im Forum findest du Tausende Schleifen! (owT)
09.05.2014 14:18:30
Daniel
HI
wenn du einzelne Zellen per Schleife ansprechen willst, nimmst du am besten die Cells-Funktion.
dort kannst du Zeilen- und Spaltennummer als Zahl und somit auch als Variable angeben:
dim x as long
x = 13
Do while Tabelle1.Cells(x, 18)  ""
Tabelle1.Cells(x, 5).AddComment Tabelle1.Cells(x, 18).Text
x = x + 1
Loop

Gruß Daniel

AW: Im Forum findest du Tausende Schleifen! (owT)
09.05.2014 14:22:51
Maik
ja super, genau so soll es sein, vielen dank für diesen äusserst brauchbaren kommentar!!!

454 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige