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

Beim Wandeln von Nr in Name wird Leerzeile erzeugt

Beim Wandeln von Nr in Name wird Leerzeile erzeugt
13.05.2019 21:58:33
Nr
Hallo Leute,
ich habe ein Problem dass ich leider nicht behoben bekomme.
https://www.herber.de/bbs/user/129604.zip
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

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

Betreff
Datum
Anwender
Anzeige
Zwei Änderungen im Code...
14.05.2019 07:37:39
Case
Hallo Tobias, :-)
... und es brummt: ;-)
1. Lösche das "ListBox2.AddItem"
2. Ändere "For z = 1 To Max" in "For z = 1 To Max - 1"
"ListBox2.List" ist ein zweidimensionales, nullbasiertes Array.
Servus
Case

AW: Beim Wandeln von Nr in Name wird Leerzeile erzeugt
14.05.2019 07:58:47
Nr
Hallo Tobias,
da die Range.Find-Methode bei Dir sehr umständlich gestaltet wurde, hier mal mein Versuch:
https://www.herber.de/bbs/user/129756.xls
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Beim Wandeln von Nr in Name wird Leerzeile erzeugt
14.05.2019 10:11:14
Nr
Hallo Tobi,
du hast das Makro "UserForm_Activate" etwas zu kompliziert aufgebaut - es geht einfacher.
In dem Abschnitt des Makros, in dem die KndNr durch den Namen ersetzt wird, dürfen eine Listbox2.AddItem-Anweisungen stehen!
Den Fehler 318 (Anwendungs- oder objektdefinierter Fehler) kann ich hier jetzt nicht nachvollziehen.
LG
Franz
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 "Auftragsnummer"
ListBox1.List(i, 1) = "| Name"
ListBox1.List(i, 2) = "| Seriennummer"
With Workbooks("Auftrag.xls").Worksheets("Daten")
Set rng = .Range("R:CS").Find(what:=GNR, LookIn:=xlValues, lookat:=xlPart, _
After:=.Range("CS65536"))
End With
i = 0
If Not rng Is Nothing Then
sFirst = rng.Address
Do
ListBox2.AddItem 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
Set rng = Workbooks("Auftrag.xls").Worksheets("Daten").Range("R:CS").FindNext(After: _
=rng)
If rng.Address = sFirst Then Exit Do
Loop
End If
If i > 0 Then
' Kundennummer wird durch Name ersetzt
For z = 0 To ListBox2.ListCount - 1
KdNr = ListBox2.List(z, 2)
Auftrag = ListBox2.List(z, 0)
Set var = Workbooks("Kunden.xls").Worksheets("Kundenstamm").Range("A:A") _
.Find(what:=KdNr, LookIn:=xlValues, lookat:=xlPart)
If Not var Is Nothing Then
Vorname = var.Offset(0, 3)
Name = var.Offset(0, 2)
If Vorname > " " Then
Name = Vorname & " " & Name
End If
ListBox2.List(z, 2) = Name
End If
Next z
Else
MsgBox "Geräte-Nr. """ & GNR & """ nicht gefunden!"
Unload Me
Exit Sub
End If
End Sub

Anzeige
AW: Beim Wandeln von Nr in Name wird Leerzeile erzeugt
14.05.2019 20:16:28
Nr
Vielen Dank für eure Tipps alle drei Ansätze funktionieren Bestens.
Die Variante von Franz finde ich prima.
Vielen Dank dafür.
Es gibt aber noch eine Sache mit der ich nicht weiter kommen.
Wenn die Datei Auftrag durchgesucht wurde soll danach noch in der Datei Archiv.xls im selben Bereich gesucht werden. Habe mich daran versucht das noch einzufügen. Aber bekomme nur eine Endlosschleife hin.
Franz .. kannst du mir da helfen?
Gruß
TObi
AW: Beim Wandeln von Nr in Name wird Leerzeile erzeugt
17.05.2019 17:30:03
Nr
Hallo Tobias
ich wollte mir deine Beispieldatei einmal ansehen, da gibt es aber so einige Tücken.
WARNUNG VOR END BEFEHL !!!
Du hast im Code: Private Sub cmdCancel_Click() - einen End befehl. - Ersetze ihn lieber durch Exit Sub! Wenn es geht!- Begründung: der End Befehl stoppt alle Makros, auch in anderen Mappen! Wenn du also Daten aus dem Internet DownLoadest ist das tückisch. Der stoppt alle Module! Bei einer einzelnen geöfnetten Datei bemerkt man das natürlich Nicht!
Beim Versuch die Serien Nummer anzeigen zu lassen kommt Laufzeitfehler, weil dir Datei "Erfassung" und Sheet "Eingabe Endkunde" fehlt! Ebenso finde ich keine Datei oder Blatt Archiv, wo noch die Serien Nummer gesucht werden soll.
Interessant ist auch diese Set Anweisung in: - Sub UserForm_Activate()
Set rng = Workbooks("Auftrag.xls").Worksheets("Daten").Range("R:CS") _
.Find(what:=GNR, LookIn:=xlValues, lookat:=xlPart, After:=Range("CS65536"))
denn das Beispiel ist eine .xls Datei! Die hat ja nur 65536 Zeilen, dann ist Ende! Womit arbeitet ihr wirklich?
Mein Versuch da durchzublicken ist im Augenblick gescheitert. Melde dich mal wo das Archiv Blatt ist?
mfg Piet
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige