Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1376to1380
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

Schleife

Schleife
22.08.2014 09:46:41
Claudia
Hallo zusammen,
im Forum habe ich folgenden Code gefunden.
Sub Schleife()
Dim RaZelle As Range
For Each RaZelle In Range("C2:C19")
If RaZelle = Environ("UserName ") Then
Spalte1 = ActiveCell.Offset(0, 2).Value
Spalte2 = ActiveCell.Offset(0, 3).Value
End If
Next
End Sub

Das fettmarkierte ist meine Erfinung, die natürlich nicht klappt. Ich möchte, wenn im Bereich C2:C19 der User gefunden wird, dass dann aus E2:E19 bzw. F2:F19 der jeweils in der gleichen Zeile stehende Wert ausgelesen wird.
Beispiel:
User wird in C5 gefunden.
Spalte1 = Wert aus E5
Spalte2 = Wert aus F5
Wie mache ich das?
Vielen Dank und LG
Claudia

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

Betreff
Datum
Anwender
Anzeige
AW: Schleife
22.08.2014 09:55:12
Daniel
Hi
das würde ich ohne Schleife mit der .FIND-funktion programmieren:
dim RaZelle as range
dim Spalte1 as variant
dim Spalte2 as variant
Set RaZelle = Range("C2:C19").Find(What:=Environ("Username"), Lookat:=xlwhole, LookIn:=xlvalues) _
If RaZelle is Nothing then
Msgbox "user nich in Liste"
Else
Spalte1 = RaZelle.Offset(0, 2).value
Spalte2 = RaZelle.Offset(0, 3).value
End If
Gruß Daniel

AW: Schleife
22.08.2014 10:20:04
Jack_d
Hallo Claudia,
dein Code kann auch nicht wirklich funktionieren.
Und zwar referenzierst du mit offset aus der aktiven Zelle (Du hast aber keine aktive Zelle)
Du hättest in deinem Code die möglichkeit das ganze mit Select zu umgehen(weniger schön)
Sub Schleife()
Dim RaZelle As Range
For Each RaZelle In Range("C2:C19")
If RaZelle = Environ("UserName ") Then
RaZelle.Select
Spalte1 = ActiveCell.Offset(0, 2).Value
Spalte2 = ActiveCell.Offset(0, 3).Value
End If
Next
End Sub
Oder das ganze von der "gefundenen Zelle" aus machen (schöner weil ohne select)
Sub Schleife()
Dim RaZelle As Range
For Each RaZelle In Range("C2:C19")
If RaZelle = Environ("UserName ") Then
Spalte1 = RaZelle.Offset(0, 2).Value
Spalte2 = RaZelle.Offset(0, 3).Value
End If
Next
End Sub
Grüße

Anzeige
Abgesehen mal von der idR vorzuziehenden ...
22.08.2014 20:56:28
der
…Alternative ohne Zyklus (intern läuft garantiert auch einer, nur ggf schneller!), Jack,
gebührt dir hier das Verdienst, Claudia ihren Fehler verdeutlicht zu haben, wovon sie sicher auch in anderem (zyklischen) Zusammenhang profitieren kann. ;-)
Gruß, Luc :-?

@ Daniel, Jack: Vielen Dank für
23.08.2014 18:08:44
Claudia
Eure Hilfe und die Erklärung!
LG Claudia

Vielen lieben Dank Luc:-? owT
25.08.2014 11:39:09
Jack_d
ohne weiteren Text

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige