Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1504to1508
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 anzeigen | Herbers Excel-Forum"

Zeilennummer anzeigen
01.08.2016 13:12:20
Thomas

hallo excelfreunde,
ich fülle mit dem unten stehenden Macroteil meine Listbox.
Nun möchte ich gern das die jeweilige Zeilennummer des datensatzes in der Listbox in der ersten spalte mit angezeigt wird. Jedoch schlagen alle meine versuche fehl.
With ActiveSheet.Range("A1").CurrentRegion
If .Rows.Count > 1 Then
Set mrngData = Intersect(.Cells, .Offset(1))
End If
End With
' Listbox füllen ###################################################
With ListBox1
.ColumnCount = mrngData.Columns.Count
.List = mrngData.Value
'zeilennummer = ListBox1.ListIndex + 1 ' geht nicht da der index sich verändert wenn ich die listbox Filtere.
End With
kann mir jemand hier weiterhelfen?
liebe grüsse thomas

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
noch ein Nachtrag
01.08.2016 13:33:42
Thomas
hallo excelfreunde,
habe mir gerade überlegt das es womöglich besser ist wenn ich mein ganzes Problem erkläre.
Denn ich habe die Befürchtung das ich auch mit der Zeilennummer nicht wirklich weiterkomme.
Ich wollte dies eigentlich allein schaffen aber ich glaub das wird noch nichts.
Ich habe eine userform mit einer Listbox. Diese kann ich nun mit Hilfe vom Forum ( speziell Rudi Maintaire) Filtern. Nun versuche ich in die Listbox zu klicken und dann sollen sich die textboxen mit diesen Daten füllen. Nun dies geht so natürlich nicht da ich bei jedem Filtervorgang den index verliere. Deshalb war mein gedanke das ich mich an die Zeilennummer klemme. Im Beispiel habe ich erstmal nur eine Textbox drin es werden aber am ende mindestens 13 sein.
https://www.herber.de/bbs/user/107344.xlsm
besten dank schon mal für euer interesse
liebe grüsse thomas
Anzeige
AW: noch ein Nachtrag
01.08.2016 14:22:52
Daniel
Hi
füge an die Tabelle einfach eine Spalte an, die die Zeilennummer enthält (Formel: =Zeile())
diese Spalte wird dann Bestandteil der Listboxdaten sein und du kannst sie abfragen, wenn du wissen willst in welcher Tabellenzeile der gewählte Exceleintrag steht.
Gruß Daniel
AW: Zeilennummer anzeigen
01.08.2016 15:41:34
Thomas
Hallo Daniel,
erstmal besten dank für dein Vorschlag.
Leider kann ich das so nicht machen denn in dieser tabelle werden ständig zeilen gelöscht und es kommen auch neue dazu.
Wahrscheinlich müsste ich die Formel mit VBA beim start der Userform schreiben. Nur ich bekomme dies nie allein hin. könntest Du mir dabei helfen? Diese Formel darf aber nicht am anfang der Tabelle stehen sondern immer in der Spalte ZZ oder dahinter.
Falls dies nicht funktioniert habe ich noch eine weiteres beispiel gefunden womöglich kann man damit etwas anfangen. Hier werden zeilennummern in die listbox geschrieben. nur wie bekommt man soetwas zusammen gelegt?
könnt ihr euch dies problem nochmal anschauen?
habt schon mal vielen dank dafür.
https://www.herber.de/bbs/user/107347.xlsm
liebe grüsse thomas
Anzeige
AW: Zeilennummer anzeigen
01.08.2016 15:59:14
Daniel
Hi
du könntest die Zeilennummern auf diese Weise hinzufügen, ohne in die Tabelle eingreifen zu müssen:
dim arrData as Variant
With ActiveSheet.Range("A1").CurrentRegion
If .Rows.Count > 1 Then
Set mrngData = Intersect(.Cells, .Offset(1))
End If
End With
' Zeilennummern in letzter Spalte hinzufügen
arrData = mrngData.Resize(, mrngdata.columns.count + 1).value
for i = 1 to Ubound(arrData, 1)
arrData(i, Ubound(arrData, 2)) = i + 1
Next
' Listbox füllen ###################################################
With ListBox1
.ColumnCount = Ubound(arrData, 2)
.List = arrData
End With
Zeilennummer = Listbox1.List(Listbox1.ListIndex, Listbox1.ColumnCount - 1)
gruß Daniel
Anzeige
AW: Zeilennummer anzeigen
01.08.2016 16:31:00
Thomas
Hallo Daniel,
hab besten dank schon mal für deine hilfe.
leider bekomme ich die fehlermeldung:
"Eigenschaft List konnte nicht abgerufen werden".
in dieser Zeile "zeilennummer = ListBox1.List(ListBox1.ListIndex, ListBox1.ColumnCount - 1)"
kannst du nochmal schauen?
wenn es dann läuft in welcher spalte finde ich dann die zeilennummmer?
kann ich diese dann in eine textbox schreiben?
kannst du noch mal schauen?
liebe grüsse thomas
AW: Zeilennummer anzeigen
01.08.2016 16:52:33
Daniel
Hi
bitte die Datei hochladen.
sonst wird die Fehlersuche schwierig.
die Zeilennummern stehen in der letzten Spalte der Listbox.
Gruß Daniel
Anzeige
AW: Zeilennummer anzeigen
01.08.2016 17:34:15
Thomas
Hallo Daniel,
klasse das du mich nicht auf gibst. Finde ich super von dir.
Ich habe in diesem beispiel dein Vorschlag schon eingebaut. Die Fehlermeldung habe ich erstmal abgeschalten.
Ich bekomme es einfach nicht hin das nach dem filtern der listbox die richtigen daten in den textfeldern stehen.
https://www.herber.de/bbs/user/107354.xlsm
hab vielen dank das du dich damit beschäftigst.
liebe grüsse thomas
AW: Zeilennummer anzeigen
01.08.2016 18:51:43
Daniel
Hi
ok ich müsste sehr tief in den Code eingreifen, den du schon hast.
dazu habe ich keine Lust.
dein erstes Problem, nämlich die richtigen Texte kannst du aber relativ einfach lösen, indem du die Texte für die Textboxen nicht aus der Exceltabelle liest (denn dafür brauchst du Zeilennummern, die du aber nicht hast), sondern aus der Listbox direkt.
hierzu musst du den Code für die Listbox1_Click so schreiben:
Private Sub ListBox1_Click()
With ListBox1
TextBox1.Text = .List(.ListIndex, 2)
TextBox2.Text = .List(.ListIndex, 3)
End With
End Sub

damit liest du die Texte aus der Listbox aus und brauchst daher nur den ListIndex des geklickten Eintrags und den hast du auf jeden Fall.
wenn du die Zeilennummer in der Tabelle haben willst, ist am einfachsten, die Zeilennummer in einer weiteren Spalte am Tabellenende mit der Formel =Zeile() zu hinterlegen, die dann wie eine normale Spalten in die Listbox mit aufgenommen wird.
dann kannst du den Code so wie du ihn erhalten hast weiter verwenden (ohne meine Ergänzung)
ansonsten müsste man recht tief in den Code, den du schon hast, eingreifen.
dazu fehlt mir grad die Zeit und die Lust, das unentgeltlich für dich zu tun.
Wenn du zeilen Löscht, ist das kein Problem, wenn du Zeilen hinzufügst, musst du eben diese Formel in der letzten Spalte mit einfügen, aber dass sollte nicht allzuschwer sein.
Gruß Daniel
Anzeige
besten dank an daniel
01.08.2016 19:16:01
Thomas
Hallo Daniel,
hab besten dank für deine hilfe.
Die textboxen zeigen das richtige an das ist super.
Auch deine erklärung ist klasse ich denke ich komme damit jetzt allein weiter.
hab recht vielen dank
liebe grüsse thomas
besten dank an daniel
01.08.2016 19:16:02
Thomas
Hallo Daniel,
hab besten dank für deine hilfe.
Die textboxen zeigen das richtige an das ist super.
Auch deine erklärung ist klasse ich denke ich komme damit jetzt allein weiter.
hab recht vielen dank
liebe grüsse thomas
AW: Zeilennummer anzeigen
01.08.2016 19:34:45
Piet
Hallo Thomas
wenn du die Zeilen Nummer aus der Tabelle haben willst, das dürfte simpel sein.
Probier es mal mit dem unteren Code. Er steht in UserForm, einfach wie unten aendern!
Ich sage dir mal ganz Offen, die ganze UserForm ist mit einem bewunderswerten Programm
geschrieben, da komme ich nicht mit, ist mir echt zu hoch. Aber ich kann logisch denken !!
Mir fiel auf das die Spaltenbreite sehr breit ist, und sich Orte mehrfach wiederholen.
Wozu dient das ganze?? Kann man das nicht vereinfachen?? Dazu müsste ich mehr wissen.
mfg Piet
Private Sub ListBox1_Click()
TextBox1 = Cells(ListBox1.ListIndex + 2, 3)
TextBox2 = Cells(ListBox1.ListIndex + 2, 4)
zeilnum = Cells(ListBox1.ListIndex + 2, 1) - 10000 + 2
'TextBox3 = zeilennummer
End Sub

Anzeige
Zeilennummer anzeigen
01.08.2016 20:37:21
Thomas
Hallo Piet,
hab besten dank für dein versuch jedoch schreibst du auch den index in die textbox.
sobald ich anfange zu filtern oder später zu sortieren ( baue ich noch ein) stimmt die zahl nicht mehr.
zu diesen Programm,
ich habe mir das meiste zusammen gesucht und Rudi Maintaire hat es dann zum laufen gebracht.
Aber es sind auch schon zeilen von daniel von MOF Meister und von xlph mit drin.
Die daten sind alles nur testdaten.
auch wenn deine idee nicht funktioniert hab recht vielen dank dafür.
wenn du noch eine andere idee hast lass es mich wissen
liebe grüsse thomas
Anzeige
AW: Zeilennummer anzeigen
01.08.2016 21:16:12
Piet
Hallo Thomas,
rein fachlich kann ich die Makros die meine Vorgaenger geschrieben haben nicht nachvollziehen.
Das ist eine Programmiersprache die ist mir zu hoch. UserFormen sind auch nicht meine Staerke.
Wennich aber verstanden und begriffen habe worum es geht entwickle ich eigene Ideen.
Eine Datenbank die ich komplett selbst entwickelt habe, mit UserFormen, findest du im Archiv:
Index 1495834 @Lukas "Datenbank" - neue Lösung - Piet das war meine Arbeit zur Anfrage Lukas.
Schaut man sich die Anfrage an ist leicht zu erkennen, das ist die Produktion in einem Industrie
Unternehmen. Wahrscheinlich eine Rohr- oder Blechfertigung. Meines Wissens wurde sie übernommen.
Ich muss aber erst einmal verstehen was die ganzen Daten bedeuten, ob man sie alle braucht?
Ich habe im zweiten Beispiel gesehen das es dort eine ganz andere (unentwickelte) UserForm gibt.
Aber den Zusammenhang, wozu das ganze dient, was man damit erreichen will, sehe ich noch nicht.
Brauche erst den Durchblick, dann kann ich mich dazu aeussern und eigene Vorschlaege machen ...
mfg Piet
Anzeige
AW: Offen stellen vergessen owT
01.08.2016 21:20:37
Piet
,,
noch mal besten dank an daniel
02.08.2016 01:25:08
Thomas
Hallo Daniel,
ich konnte deine Ideen umsetzen.
Ich schreibe nun die formel mit vba in die erste freie spalte meiner tabelle und von da kann ich sie wieder auslesen.
Hab noch mal recht vielen dank für deine hilfe Du hast mir echt geholfen.
liebe grüsse thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige