Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

UF Listbox erste freie Zelle in Spalte A


Betrifft: UF Listbox erste freie Zelle in Spalte A von: Peter
Geschrieben am: 29.07.2018 08:56:07

Hallo ihr Excelspezialisten,
einen schönen guten Morgen.

Ich habe ein kleines Problem und bitte euch um eure Hilfe.

Die Listbox in UF lade ich wie folgt:

Worksheets("ScantabelleKopierer1Ber").Activate
'Anfang Listbox1
Dim i As Long
ListBox1.Clear
ListBox1.ColumnCount = 7
ListBox1.ColumnWidths = "1,0cm;0,8cm;1,5cm;3,5cm;1,5cm;1,5cm;1,5cm"
Dim Zeile As Long

With Worksheets("ScantabelleKopierer1Ber")
' Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row
Zeile = .Cells(.Rows.Count, 6).End(xlUp).Row
With Me.ListBox1
' For i = 2 To 87
For i = 2 To Zeile
.AddItem Cells(i, 1) 'SpalteA in erste Spalte
.List(.ListCount - 1, 2) = Cells(i, 2) 'SpalteB in zweite Spalte
.List(.ListCount - 1, 3) = Cells(i, 3) 'SpalteC in dritte Spalte
.List(.ListCount - 1, 4) = Cells(i, 4) 'SpalteD in vierte Spalte
.List(.ListCount - 1, 5) = Cells(i, 5) 'SpalteD in fünfte Spalte
.List(.ListCount - 1, 6) = Cells(i, 6) 'SpalteD in sechste Spalte
Next
End With
End With

Me.TextBox1 = "5056i"

'Ende Listbox1

Die Auswahl aus der Listbox erfolgt mit nachstehendem Code:

Private Sub ListBox1_Click()
If Me.Tag = "1" Then Exit Sub
'klick = ListBox1.ListIndex
With ListBox1
    Me.TextBox1 = .List(.ListIndex, 0)
'If ListBox1.List(ListBox1.ListIndex, 1) = "" Then
'    Me.TextBox2 = "5056i"
'Else
    Me.TextBox2 = .List(.ListIndex, 2)
'End If
    Me.TextBox3 = .List(.ListIndex, 3)
    Me.TextBox4 = .List(.ListIndex, 4)
    Me.TextBox5 = .List(.ListIndex, 5)
    Me.TextBox6 = .List(.ListIndex, 6)
'    Me.TextBox6 = .List(.ListIndex, 6)
    End With
    
ListBox2.ListIndex = ListBox1.ListIndex
End Sub

Nun möchte ich um einen weiteren Datensatz einzufügen, die erste Zeile auswählen,
in welche in Spalte A kein Wert ist jedoch in Spalte E = 6 sich aufgrund von Formeln
eine 0 befindet.

Im Forum habe ich einen Suchcode gefunden, welcher den vorgegebenen Wert sucht und dabei die letzte Zeile mit diesem Wert auswählt, aber ich möchte ja die nächste Zeile
ohne diesen Wert.

Dim iRow As Integer
For iRow = 0 To ListBox1.ListCount - 1
If ListBox1.List(iRow, 0) = TextBox1.Text Then
ListBox1.Selected(iRow) = True
End If
Next iRow

Was muss ich ändern oder machen, damit das gelingt?

Besten Dank für eure Hilfe.

Gruss
Peter

  

Betrifft: AW: UF Listbox erste freie Zelle in Spalte A von: Peter
Geschrieben am: 29.07.2018 09:48:57

Hallo Hajo,
warum der Eintrag doppelt ist - keine Ahnung - irgend Eingabefehler.

Kannst Du mir bitte helfen.

Gruss
Peter


  

Betrifft: AW: UF Listbox erste freie Zelle in Spalte A von: Oberschlumpf
Geschrieben am: 29.07.2018 09:53:58

Hi Peter,

Was muss ich ändern oder machen, damit das gelingt?

Ich würde dir empfehlen, zeig uns per Upload eine Bsp-Datei inklusive ausreichend Bsp-Daten + deinem Code.

Die Erfahrung zeigt, ...
... oft stimmt die reine Problembeschreibung nicht mit dem überein, was in der Originaldatei tatsächlich erreicht werden soll ("oh, ja, stimmt, hatte ich vergessen zu erwähnen" ist eine oft zu lesende Antwort des Hilfesuchenden, wenn er Nachfragen von vielleicht Helfenden erhält)
... es ist fast immer einfacher, eine Lösung zu finden, wenn eine Bsp-Datei zum Testen vorhanden ist
... es ist fast nicht möglich, die Datei(en) vom Fragenden nachzubauen (außerdem hab zumindest ich keine Lust, Dateien nachzubauen, wenn sie doch eigentlich beim Fragenden schon vorhanden ist)
... gibt bestimmt noch weitere Gründe, aber sie fallen mir gerade nicht ein :-)

Ciao
Thorsten


  

Betrifft: AW: UF Listbox erste freie Zelle in Spalte A von: Peter
Geschrieben am: 29.07.2018 10:07:12

Hallo Thorsten,
grundsätzlich gebe ich Dir Recht.

Aber meine Datei ist sehr umfangreich und enthält jede Menge Daten die nicht für die Öffentlichkeit sind.

Mit dem Suchcode funktioniert es einwandfrei, dass die letzte beschriebene Zeile aufgrund der Werte in Spalte A markiert wird. Es fehlt mir nur noch der Weg, dass nach dieser Suche die nächste Zeile ausge- wählt wird.

Gruss
Peter


  

Betrifft: Datei mit Dummy-Daten-ein Problem? kwT von: robert
Geschrieben am: 29.07.2018 10:12:54




  

Betrifft: AW: Datei mit Dummy-Daten-ein Problem? kwT von: Peter
Geschrieben am: 29.07.2018 10:29:55

Hallo Robert,
habe eine Datei mit Dummy-Daten erstellt.

Datei anbei:https://www.herber.de/bbs/user/122977.xlsm


Besten Dank.

Gruss
Peter


  

Betrifft: AW: UF Listbox erste freie Zelle in Spalte A von: Matthias L
Geschrieben am: 29.07.2018 10:28:55

Hallo

Zitat:
Mit dem Suchcode funktioniert es einwandfrei, dass die letzte beschriebene Zeile aufgrund der Werte in Spalte A markiert wird. Es fehlt mir nur noch der Weg, dass nach dieser Suche die nächste Zeile ausge- wählt wird

Es fehlt mir nur noch der Weg, dass nach dieser Suche die nächste Zeile ausge- wählt wird.
Wie wäre es denn mit Deiner gefundenen Zeile + 1

Wie auch schon von Anderen erwähnt baut das sicher keine nach.

Gruß Matthias


  

Betrifft: AW: UF Listbox erste freie Zelle in Spalte A von: Peter
Geschrieben am: 29.07.2018 10:33:19

Hallo Matthias,
mein Problem - wie soll ich das in den Code eingeben?

Gruss
Peter


  

Betrifft: AW: UF Listbox erste freie Zelle in Spalte A von: Matthias L
Geschrieben am: 29.07.2018 10:46:20

Hallo

'neue Daten1+2
Private Sub CommandButton8_Click()
Dim iRow As Integer
   For iRow = 0 To ListBox1.ListCount - 1
      If ListBox1.List(iRow, 0) = TextBox1.Text Then
         ListBox1.Selected(iRow) = True
      End If
   Next iRow
   ListBox1.ListIndex = ListBox1.ListIndex + 1
End Sub
Gruß Matthias


  

Betrifft: AW: Lösung gefunden von: Peter
Geschrieben am: 29.07.2018 10:49:09

Hallo Matthias,

Super! genau das was ich gesucht habe.

Vielen Dank und noch einen schönen Sonntag.

Gruss
Peter


  

Betrifft: AW: UF Listbox erste freie Zelle in Spalte A von: Werner
Geschrieben am: 29.07.2018 09:54:08

Hallo Peter,

was ist denn, wenn du deine For-Schleife einfach anders rum laufen läßt?

For iRow = ListBox1.ListCount - 1 to 0
Gruß Werner


  

Betrifft: AW: UF Listbox erste freie Zelle in Spalte A von: Peter
Geschrieben am: 29.07.2018 10:01:35

Hallo Werner,
besten Dank für Deine Hilfe - klappt aber leider nicht.

Gruss
Peter


Beiträge aus dem Excel-Forum zum Thema "UF Listbox erste freie Zelle in Spalte A"