Anzeige
Archiv - Navigation
1176to1180
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

Zeilennummer nach .Find

Zeilennummer nach .Find
Lorenz
Hallo Excelianer
mit
"Rows("1:100").Find(What:=myUser, LookIn:=xlValues, LookAt:=xlPart)"
wird "myUser" gesucht.
Bei positivem Ergebnis soll die Zeilennummer ausgegeben werden. Aber wie?
Gruß
Lorenz

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeilennummer nach .Find
19.09.2010 16:53:57
Sobotta
Hallo Lorenz,
ich würde das so lösen:
Gruß Mark
Sub test()
Dim Adress As Range
Dim Zeile As Integer
Set Adress = Rows("1:2").Find(What:=myUser, LookIn:=xlValues, LookAt:=xlPart)
Zeile = Adress.Row
End Sub

AW: Zeilennummer nach .Find
19.09.2010 16:59:22
Hajo_Zi
Hallo Lorenz,
Ich würde noch prüfen ob gefunden
IF not Adress is Nothing then Zeile = Adress.Row
Warum eine neue Variable ist mir nicht klar.

AW: Zeilennummer nach .Find
19.09.2010 17:36:42
Lorenz
Hallo Hajo,
zu IF not Adress is Nothing then Zeile = Adress.Row:
Danke für`n Tipp (wurde sofort umgesetzt)
Zu ist mir nicht klar:
Im Sheet "wksEinstellung" in der Spalte "A" steht neben dem User in den Spalten B bis.....
jeweils eine "1" die aus einer Userfor eingetragen wird. Darum brauche ich die Zeilennummer, um lt untenstehenden Code weiterverarbeiten zu können. Aus Zeile wurde myZeile.
for loField = 1 To 68
If wksEinstellung.Cells(myZeile, loField) = 1 Then
Cells.EntireColumn(loField).Hidden = False
Else
Cells.EntireColumn(loField).Hidden = True
End If
Next
Grüße Lorenz
Anzeige
AW: Zeilennummer nach .Find
19.09.2010 17:43:57
Hajo_Zi
Hallo Lorenz,
dafür hätte man abr auch Adress.Row schreiben können. Eine neue Variable wäre nicht notwendig.
Gruß Hajo
AW: Zeilennummer nach .Find
19.09.2010 18:04:58
Lorenz
Hallo Hajo,
Ich dachte mir, weil ich die "Variablen in "Funktionen" in ein Modul auslagerte, habe ich dementsprechend einzelne Var. daraus gemacht. Etwa so:
Option Explicit
Dim myAdress As Range, myZeile As Integer, loLast As Long, loLetzte As Long
Public Function Berechtigt() As Boolean
myUser
loLetzte = IIf(IsEmpty(wksEinstellung.Cells(Rows.Count, 1)), wksEinstellung.Cells(Rows.Count, 1) _
.End(xlUp).Row, Rows.Count)
Berechtigt = Not wksEinstellung.Rows("1:" & loLetzte).Find(What:=myUser, LookIn:=xlValues,  _
LookAt:=xlPart) Is Nothing
End Function

Public Function myUser() As String
myUser = Environ("Username")
End Function

Public Function UserZeile() As Long
loLast = IIf(IsEmpty(wksEinstellung.Cells(Rows.Count, 1)), wksEinstellung.Cells(Rows.Count, 1). _
End(xlUp).Row, Rows.Count)
Set myAdress = wksEinstellung.Rows("1:" & loLast).Find(What:=myUser, LookIn:=xlValues, LookAt:= _
xlPart)
If Not myAdress Is Nothing Then UserZeile = myAdress.Row
End Function
Dies hatte ich so gelöst, da ich in drei verschiedenen UF, sowie in div. Sheets auf die Fkt zugreifen möchte.
Was sagst Du? Ist der Weg in diese Richtung vielleicht falsch?
Grüße Lorenz
Anzeige
AW: Zeilennummer nach .Find
19.09.2010 18:10:44
Hajo_Zi
Hallo Lorenz,
warum Du die Funktion Public Function myUser() As String benuzt ist mir schleierhaft das ist doch nur 1 Zeile und Du hast daraus 4 gemacht, vielleicht wirst Du nach Zeilen bewertet?
Ich habe nur auf das geantwortet was ich gesehen habe und ich glaube da war von einer Funktion nicht die Rede. Was an Deinem Code zu bemängeln ist Die variable MyAdress wird nicht wieder auf Nothing gesetzt. Ich bin der Auffasung, alle Variablen die mit Set gesetzt werden sollten am Ende wieder auf Nothing gesetzt werden.
Gruß Hajo
Anzeige
AW: Zeilennummer nach .Find
19.09.2010 18:44:05
Lorenz
Hallo Hajo
Klar war von "Funktion nicht die Rede". Ich dachte nur es ist vielleicht auch für "mitlesende" eine unterstützung (darum hab ich Dir den Code reingestellt.
Nichts desto Trotz hab wieder mal was (dazu)gelernt!
der Set-Mangel wurde sofort behoben, ebenso aus dem vierzeiler wieder ein einzeiler gemacht.
Danke & Grüsse
Lorenz
AW: Zeilennummer nach .Find
19.09.2010 18:05:15
Lorenz
Hallo Hajo,
Ich dachte mir, weil ich die "Variablen in "Funktionen" in ein Modul auslagerte, habe ich dementsprechend einzelne Var. daraus gemacht. Etwa so:
Option Explicit
Dim myAdress As Range, myZeile As Integer, loLast As Long, loLetzte As Long
Public Function Berechtigt() As Boolean
myUser
loLetzte = IIf(IsEmpty(wksEinstellung.Cells(Rows.Count, 1)), wksEinstellung.Cells(Rows.Count, 1) _
.End(xlUp).Row, Rows.Count)
Berechtigt = Not wksEinstellung.Rows("1:" & loLetzte).Find(What:=myUser, LookIn:=xlValues,  _
LookAt:=xlPart) Is Nothing
End Function

Public Function myUser() As String
myUser = Environ("Username")
End Function

Public Function UserZeile() As Long
loLast = IIf(IsEmpty(wksEinstellung.Cells(Rows.Count, 1)), wksEinstellung.Cells(Rows.Count, 1). _
End(xlUp).Row, Rows.Count)
Set myAdress = wksEinstellung.Rows("1:" & loLast).Find(What:=myUser, LookIn:=xlValues, LookAt:= _
xlPart)
If Not myAdress Is Nothing Then UserZeile = myAdress.Row
End Function
Dies hatte ich so gelöst, da ich in drei verschiedenen UF, sowie in div. Sheets auf die Fkt zugreifen möchte.
Was sagst Du? Ist der Weg in diese Richtung vielleicht falsch?
Grüße Lorenz
Anzeige
AW: Zeilennummer nach .Find
19.09.2010 17:02:57
Lorenz
Hallo Mark,
Danke, das war`s!
Grüße
Lorenz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige