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

Erste Zelle der Fundstelle ausgeben

Erste Zelle der Fundstelle ausgeben
05.05.2019 16:36:55
Tobias
Guten Tag ihr Excel Helden
Leider kenne ich mich mit Excel VBA nicht so gut aus und verzweifelt an einer Sache die für euch Profis bestimmt total einfach zu realisieren ist.
Mit Hilfe einer Combobox wird ein einem Bereich eine Seriennummer gesucht.
Alle Fundstellen werden in der Combobox ausgegeben.
Mit dem Schnipsel wird von der Fundstelle die 5. Zelle links neben der Fundstelle ausgegeben

ListBox2.List(i, 0) = rng.Offset(0, -5)
Ich möchte aber dass immer die Erste Zelle der Zeile ausgeben.
Wenn die Funstelle X333 ist soll der Wert von X1 ausgegeben werden.
Kann mir jemand helfen?
Schöne Grüße
Tobias

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erste Zelle der Fundstelle ausgeben
05.05.2019 16:42:16
Matthias
Hallo
so aus dem Bauch raus, aber ungetestet!
ListBox2.List(i, 0) = Cells(rng.Row,1)
Gruß Matthias
Nur solange rng Objekt des ActiveSheet ist! (owT)
05.05.2019 16:54:40
EtoPHG

Danke für keine Rückmeldung Matthias (owT;-)
06.05.2019 12:02:02
EtoPHG

rng.Offset(, -rng.Column+1) [owT]
05.05.2019 16:46:09
EtoPHG

Danke! Funktioniert wunderbar ! [owT]
05.05.2019 18:14:33
Tobias
.
Danke! für Deine Rückmeldung ... owT
05.05.2019 18:49:09
Matthias
Beim Wandeln von Nr in Name wird Leerzeile erzeugt
05.05.2019 18:57:38
Nr
Ich weiß dass man Beispieldateien hochladen soll.
Aber da diese nicht mit Inhalten gefüllt werden müssen frage ich zuerst mal ob jemand anhand des Quellcode den Fehler finden kann.
Und zwar wird die Combobox mit Inhalten gefüllt. Da die Kundendaten in einer anderen Datei liegen werden im Nachgang die Kundennummern durch den Namen ersetzt.
Aber dabei wird für jede Änderung von Kundennummer in Name eine zusätzliche leere Zeile in der Liste eingefügt.
Hat jemand eine Idee woran es liegen kann?
Wenn ich ziemlich unten ListBox2.AddItem auskommentiert werden keine Leerzeilen eingefügt, es erscheint aber ein Laufzeitfehler 381
Vielen Dank im Voraus
Tobi
Private Sub UserForm_Activate()
Dim c, rng, var As Range
Dim sFirst, tFirst, Name, Vorname As String
Dim z, i, Max, KdNr, Zahl As Integer
Dim Datum As Date
Dim GNR, geraet, Model, Hersteller, Typ, Auftrag As String
GNR = Range("Geraetenr")
ListBox2.Clear
ListBox1.AddItem
ListBox1.List(i, 0) = "Auftragsnummer"
ListBox1.List(i, 1) = "| Name"
ListBox1.List(i, 2) = "| Seriennummer"
Set rng = Workbooks("Auftrag.xls").Worksheets("Daten").Range("R:CS") _
.Find(what:=GNR, LookIn:=xlValues, lookat:=xlPart, After:=Range("CS65536"))
If Not rng Is Nothing Then
sFirst = rng.Address
i = 0
ListBox2.AddItem
ListBox2.List(i, 0) = rng.Offset(, -rng.Column + 1)
ListBox2.List(i, 1) = "| "
ListBox2.List(i, 2) = rng.Offset(, -rng.Column + 3)
ListBox2.List(i, 3) = "| "
ListBox2.List(i, 4) = rng.Offset
i = i + 1
Do
Set rng = Workbooks("Auftrag.xls").Worksheets("Daten").Range("R:CS").FindNext(After:= _
rng)
If rng.Address = sFirst Then Exit Do
ListBox2.AddItem
ListBox2.List(i, 0) = rng.Offset(, -rng.Column + 1)
ListBox2.List(i, 1) = "|"
ListBox2.List(i, 2) = rng.Offset(, -rng.Column + 3)
ListBox2.List(i, 3) = "| "
ListBox2.List(i, 4) = rng
i = i + 1
Loop
End If
Set rng = Workbooks("Archiv.xls").Worksheets("Daten").Range("R:CS") _
.Find(what:=GNR, LookIn:=xlValues, lookat:=xlPart, After:=Range("CS65536"))
If Not rng Is Nothing Then
sFirst = rng.Address
'i = 0
ListBox2.AddItem
ListBox2.List(i, 0) = rng.Offset(, -rng.Column + 1)
ListBox2.List(i, 1) = "| "
ListBox2.List(i, 2) = rng.Offset(, -rng.Column + 3)
ListBox2.List(i, 3) = "| "
ListBox2.List(i, 4) = rng.Offset
i = i + 1
Do
Set rng = Workbooks("Archiv.xls").Worksheets("Daten").Range("R:CS").FindNext(After:=rng) _
If rng.Address = sFirst Then Exit Do
ListBox2.AddItem
ListBox2.List(i, 0) = rng.Offset(, -rng.Column + 1)
ListBox2.List(i, 1) = "|"
ListBox2.List(i, 2) = rng.Offset(, -rng.Column + 3)
ListBox2.List(i, 3) = "| "
ListBox2.List(i, 4) = rng
i = i + 1
Loop
' Kundennummer wird durch Name ersetzt
Zahl = ListBox2.ListCount
KdNr = ListBox2.List(0, 2)
Auftrag = ListBox2.List(0, 2)
Set var = Workbooks("Kunden.xls").Worksheets("Kundenstamm").Range("A:A") _
.Find(what:=KdNr, LookIn:=xlValues, lookat:=xlPart, After:=Range("A8000"))
If Not var Is Nothing Then
tFirst = var.Address
Vorname = var.Offset(0, 3)
Name = var.Offset(0, 2)
If Vorname > " " Then
Name = Vorname & " " & Name
End If
ListBox2.AddItem
ListBox2.List(0, 2) = Name
Max = ListBox2.ListCount
'            Max = Max - 2
For z = 1 To Max
KdNr = ListBox2.List(z, 2)
Set var = Workbooks("Kunden.xls").Worksheets("Kundenstamm").Range("A:A") _
.Find(what:=KdNr, LookIn:=xlValues, lookat:=xlPart, After:=Range("A8000"))
tFirst = var.Address
KdNr = ListBox2.List(z, 2)
Vorname = var.Offset(0, 3)
Name = var.Offset(0, 2)
If Vorname > " " Then
Name = Vorname & " " & Name
End If
' Wenn man ListBox2.AddItem auskommentiert werden keine Zeilen eingefügt, es  _
erscheint aber eine Fehlermeldung
ListBox2.AddItem
ListBox2.List(z, 2) = Name
Next z
End If
End If
If ListBox2.ListCount = 0 Then
Unload Me
Exit Sub
End If
End Sub

Anzeige
Nöö, ich hab keine Lust, Ignoranz hat Grenzen owT
05.05.2019 19:08:08
Matthias
auch "huhu", aber ich: nöö ... owT
05.05.2019 20:23:57
Matthias
Anbei Testdatei ... würde mich über Hilfe freue.
05.05.2019 21:21:35
Tobias
Ja, das habe es schon beim letzten Post verstanden.
Weiß zwar nicht was ich so schlimmes mit der Frage, ob jemand schon was ohne Dateien sagen kann, angestellt habe. Aber du scheinst es ja sehr persönlich zu nehmen.
Vlt. mag ja jemand anderes Helfen ... würde mich freuen.
LG Tobi
https://www.herber.de/bbs/user/129604.zip
meine Erläuterung dazu ...
06.05.2019 04:52:47
Matthias
Hallo Tobi
Zitat:
Ja, das habe es schon beim letzten Post verstanden.
meine Antwort:
Nein, hast Du nicht!


Übrigens, von einer Bsp.Datei habe ich nichts geschrieben, das kam ja von Dir.


Zitat:
Aber du scheinst es ja sehr persönlich zu nehmen.
meine Antwort:
Ja!


Ich hatte Dir einen Vorschlag unterbreitet(mal ganz nebenbei, sogar als Erster)
 AW: Erste Zelle der Fundstelle ausgeben - von Matthias L am 05.05.2019 16:42:16
 Mir ist es auch egal, ob Du meinen Vorschlag benutzt oder den von Hansueli
 Was mir aber nicht egal ist, das Du mir keine Rückmeldung gegeben hast.
 Hansueli hingegen bekommt eine Rückmeldung.
Nun denk mal drüber nach, ob das so "ok" ist dem Einen zu Danken und den Anderen zu Ignorieren.
einen schönen Tag wünsche ich
Gruß Matthias
Anzeige
Lächerlich - im Kindergarten reagiert man so owT
06.05.2019 10:55:08
Tobias
Da scheinst Du ja noch nicht lange raus zu sein
06.05.2019 16:47:17
Matthias
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige