Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1612to1616
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
Text aus Textbox in Listbox einlesen
07.03.2018 23:01:33
Martin
Hallo Forum-Community,
ich bin Excel und VBA Neuling. Excelbasiswissen ist vorhanden wurde aber lange nicht mehr genutzt. Nun habe ich ein kleines Projekt für die Arbeit übenommen und komme an einer Stelle nicht mehr voran auch nach tagelanger Suche bin ich leider nicht weitergekommen.
Ich hoffe ihr könnt mir bei meiner Poblemlösung evlt weiterhelfen.
Wahrscheinlich ist es für ein Profi eine ganz banale einfache Sache.
Zur Problemstellung. Ich habe eine Userform erstellt mit einer Listbox, eine Textbox und 3 command button.
Ich möchte Daten aus einer Tabelle1 in die Listbox einlesen. Das klappt bis auf eine Kleinigkeit soweit. Beim einlesen werden auf nicht sichtbar gestellte nullwerte mit eingelesen und sihtbar dargestellt. Diese würde ich auch gerne in der Listbox nicht sichtbar haben oder gar nicht mit einlesen. je nachdem was möglich ist.
2.Problem ich möchte gerne einen Text aus der Textbox per Button in die Listbox an eine beliebige markierte Stelle zwischen den vorhanden Zeilen einfügen.
Nachdem einfügen sollen die nun so ergänzten Daten in eine neue Tabelle2 ausgegeben werden. Das ausgeben in Tabelle2 funktionert auch soweit.
Vielen Dank und Grüsse
Martin
Anbei der bisherige Code
Option Explicit
Private Sub Button_Take_Click()
Dim I As Integer
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) Then
Sheets("Rezeptdruck").Cells(Rows.Count, 1).End(xlUp).Offset(1) = .List(I, 0)
Sheets("Rezeptdruck").Cells(Rows.Count, 2).End(xlUp).Offset(1) = .List(I, 1)
Sheets("Rezeptdruck").Cells(Rows.Count, 3).End(xlUp).Offset(1) = .List(I, 2)
Sheets("Rezeptdruck").Cells(Rows.Count, 4).End(xlUp).Offset(1) = .List(I, 3)
Sheets("Rezeptdruck").Cells(Rows.Count, 5).End(xlUp).Offset(1) = .List(I, 4)
Sheets("Rezeptdruck").Cells(Rows.Count, 6).End(xlUp).Offset(1) = .List(I, 5)
End If
Next
End With
End Sub

Private Sub Einfügen_Click()
With ListBox1
.AddItem "", 4 'neue leere Zeile 2
.List(5, 0) = TextBox1
.Selected(.ListIndex + 1) = True
End With
End Sub
Private Sub Userform_Initialize()
Dim I As Integer
ListBox1.ColumnCount = 6
For I = 1 To 32
ListBox1.AddItem Cells(I, 1)
ListBox1.List(I - 1, 1) = Cells(I, 2)
ListBox1.List(I - 1, 2) = Cells(I, 3)
ListBox1.List(I - 1, 3) = Cells(I, 4)
ListBox1.List(I - 1, 4) = Cells(I, 5)
ListBox1.List(I - 1, 5) = Cells(I, 6)
ListBox1.List(I - 1, 6) = Cells(I, 7)
Next I
End Sub

Private Sub Button_Cancel_Click()
Unload meineHinweise
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text aus Textbox in Listbox einlesen
08.03.2018 08:10:32
Hajo_Zi
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Text aus Textbox in Listbox einlesen
08.03.2018 21:08:20
Mullit
Hallo,
klar, könnte man was mit Arrays proggen, mußt Du wissen, ob Du noch was brauchst und ne Bsp.-mappe wär tatsächl. nicht verkehrt...
Gruß, Mullit
AW: Text aus Textbox in Listbox einlesen
08.03.2018 21:47:27
Martin
Guten Abend,
hier die gewünschte Datei, ich hoffe das es aussreichend ist da in dem Rest einige Firmeninterne Daten enthalten sind die ich nicht veröffentlichen darf.
Wäre super wenn es dafür eine Lösung gibt.
Vieln Dank erstmal
https://www.herber.de/bbs/user/120298.xlsm
AW: Text aus Textbox in Listbox einlesen
09.03.2018 19:56:16
Mullit
Hallo,
ok, da is noch Blattschutz in der Mappe und die Nullwerte kann ich auch nicht entdecken, aber ok, ich geb Dir mal das, was ich eh schon vorher geproggt hatte, enthält beide von Dir genannten Varianten, mußt Du halt mal selbst anpassen...
Option Explicit

Private Sub CommandButton1_Click() '// Zeilen- und Elementeingabe über Inputbox.. 
Dim vntInput As Variant
Dim strText As String
With ListBox1
     If .ListIndex > -1 Then
        If .Selected(pvargIndex:=.ListIndex) Then
           strText = "Bitte eine Spalt.-Nr. zwischen 1 und " & .ColumnCount & " eingeben."
           Do
              vntInput = Application.InputBox( _
                 Prompt:=strText, Title:="Eingabe", Type:=1)
              If VarType(vntInput) = vbBoolean And vntInput = False Then Exit Sub
              If IsNumeric(vntInput) And (vntInput < 1 Or vntInput > .ColumnCount) Then
                Call MsgBox(Prompt:=strText, Buttons:=vbExclamation)
              Else
                Exit Do
              End If
           Loop
           Call .AddItem(pvargIndex:=.ListIndex)  'neue leere Zeile 
           .List(pvargIndex:=.ListIndex - 1, pvargColumn:=vntInput - 1) = TextBox1.Value
        End If
     Else
        Call MsgBox("Bitte ein Element auswählen...", vbExclamation)
     End If
End With
End Sub

Private Sub UserForm_Activate() '// Var.1: Nullwerte tauchen als Lücken in der Listbox auf... 
Dim avntArray() As Variant
Dim ialngRow As Long, ialngCoumn As Long
avntArray = Cells(1, 2).Resize(Cells(Rows.Count, 2).End(xlUp).Row, 6).Value
For ialngRow = 1 To Ubound(avntArray, 1)
   For ialngCoumn = 1 To Ubound(avntArray, 2)
      If avntArray(ialngRow, ialngCoumn) = 0 Then avntArray(ialngRow, ialngCoumn) = Empty
   Next
Next
With ListBox1
    .ColumnCount = 6
    .List() = avntArray()
End With
End Sub

'// Var.2: Nullwerte werden komplett nicht eingelesen, 
'//   die Listen verschieben sich dann natürlich... 
Private Sub UserForm_Activate()
Dim avntArray() As Variant
Dim astrOutput() As String
Dim ialngRow As Long, ialngCoumn As Long
Dim ialngCount As Long, ialngIndex As Long
avntArray = Cells(1, 2).Resize(Cells(Rows.Count, 2).End(xlUp).Row, 6).Value
For ialngCoumn = 1 To Ubound(avntArray, 2)
   ialngCount = 0
   For ialngRow = 1 To Ubound(avntArray, 1)
      If avntArray(ialngRow, ialngCoumn) <> 0 Then
        If ialngCount > ialngIndex - 1 Then _
          Redim Preserve astrOutput(5, ialngIndex) As String
        astrOutput(ialngCoumn - 1, ialngCount) = avntArray(ialngRow, ialngCoumn)
        ialngIndex = ialngIndex + 1
        ialngCount = ialngCount + 1
      End If
   Next
Next
With ListBox1
    .ColumnCount = 6
    .Column() = astrOutput()
End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: Text aus Textbox in Listbox einlesen
09.03.2018 23:31:37
Martin
Hallo Mullit,
bitte entschuldige für die unnötige zusätzliche Arbeit.Das ist alles hier neu für mich und ich habe leider nur ein paar std am Abend zeit mich damit zu beschäftigen
Vielen Dank für den Code. Ist genauso wie ich es mir vorgestellt habe.
Absolut Top Arbeit von dir und funktioniert einwandfrei.
Viele Grüsse Martin
AW: null Problemo, prima, freut mich...owT
09.03.2018 23:39:23
Mullit

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige