Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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
VBA finden Funktion
04.11.2022 15:26:46
Jakob
Guten Tag,
ich habe probleme mit der finden Funktion:
ich hab eine Tabelle mit folgenden spaltennamen:
Bauvorhaben Nummer ; Name Bauherr; Auftragsnummer ; Auftragsdatum; Auftragsstatus
die aufträge trage ich durch eine Userform ein! klappt alles
dann will ich eine zweite UF erstellen in der ich den Status des Auftrages ändern kann. (von offen zu erledigt)
da ein Bauvorhaben mehrere Auftragsnummer haben kann wollt ich die Suche über die Auftragsnummer machen und durch einen Button mir die Informationen (BV Nummer; Name Bauherr; Datum Auftrag und Status in die TExtboxen in der UF schreiben lassen (automatisch) aber genau da liegt mein problem:
bei DatumAU funktioniert es problemlos, da es rechts von der spalte AuNummer liegt. BVNummer und NameBauherr funktioniert es nicht, da die spalten links davon liegen.
Habe es mal mit -1 und -2 probiert aber das will VBA nicht.
Ich hoffe mir kann jemand helfen!
Vielen Dank im Voraus

Private Sub CommandButtonCheck_Click()
'Button CHECK automatisch infos füllen
Set finden = Columns(3).Find(what:=AuNummer)
If finden Is Nothing Then
MsgBox "Kein Eintrag gefunden"
Else
BVNummer = finden.Offset(0, -2)
AuNummer = finden.Offset(0, 0)
DatumAu = finden.Offset(0, 1)
NameBH = finden.Offset(0, -2)
End If
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA finden Funktion
04.11.2022 15:39:32
GerdL
Hallo Jakob,
NameBH = finden.Offset(0, -1) nach deiner Logik. Ich weis nicht, ob dies schon dein Problem war.
Bei mir werden trotz fehlender Variablendeklaration die BVNummer u NameBH in die Variablen
eingelesen.
Gruß Gerd
AW: VBA finden Funktion
04.11.2022 15:49:20
Yal
Hallo Jakob,
ein klares Einrücken ist für die Lesbarkeit viel mächtiger als leere Zeilen.
Versuche mit einer relativen Adressierung: aus der Zelle die gesamte Zeile (nur eine Zeile und damit Zeile 1) und daraus A1, B1, C1, ...
Und: zwar ist "Value" das Default-Eigenschaft einer Zelle, aber manchmal ist es besser, diese zu spezifizieren (könnte vielleciht schon mit Offset das Pb lösen).

Private Sub CommandButtonCheck_Click()
'Button CHECK automatisch infos füllen
Set finden = Columns(3).Find(what:=AuNummer)
If finden Is Nothing Then
MsgBox "Kein Eintrag gefunden"
Else
BVNummer = finden.EntireRow.Range("A1").Value 'Offset(0, -2)
NameBH = finden.EntireRow.Range("A1").Value 'Offset(0, -2)
DatumAu = finden.EntireRow.Range("B1").Value 'Offset(0, 1)
AuNummer = finden.EntireRow.Range("C1").Value 'Offset(0, 0)
End If
End Sub
VG
Yal
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige