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

Abfrage beim übertragen

Abfrage beim übertragen
03.11.2014 20:53:24
Stefan
Guten Abend Forum,
vorweg, ich möchte nicht das jemand anderes für mich meine Arbeit macht. Ich versuche VBA zu lernen.
So nun mein Problem:
Ich habe 9 TextBoxen auf einer Userform.
Die Daten übertrage ich mit einem Commandbutton auf das Tabellenblatt2.
Mein Codeschnippsel sieht wie folgt aus.
Private Sub CommandButton1_Click()
Dim lngLR As Long
Dim intCount As Integer
Dim rngData As Range
lngLR = Worksheets("Tabelle2").Cells(Rows.Count, 2).End(xlUp).Row + 1
Set rngData = Worksheets("Tabelle2").Cells(lngLR, "B").Resize(1, 9)
For intCount = 1 To rngData.Cells.Count
rngData.Cells(intCount).Value = Me.Controls("TextBox" & intCount).Value
Next intCount
End Sub

Nun meine konkreten Fragen.
Ich möchte gerne die Daten nach Abhänigkeit der Eingabe in Texbox1 auf verschiedene Datenblätter speichern.
Beispiel: Steht in TextBox1 grün sollen die Daten ins Tabellenblatt Grün eingetragen werden, bei rot ins Blatt rot.
Meine 2. Frage dazu, es sollen in TextBox1 nur 5 Werte eingegeben werden können.
Kann ich das irgendwie mit einer Auswahlliste vorgeben?
Ich hoffe auf Hilfe.
Gruß
Stefan

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage beim übertragen
03.11.2014 20:57:42
Daniel
Hi
Wenn in der Textbox1 der Name des Tabellenblatts steht auf dem die Werte eingetragen werden sollen, dann ersetze Worksheets("Tabelle2") durch Worksheets(Textbox1.Text)
Wenns nur 5 feste Auswahlmöglichkeiten geben soll, dann ist eine ListBox oder eine Combobox die bessere Alternative.
Hier kannst du die Auswahlmöglichkeiten fest vorgeben.
Gruß Daniel

AW: Abfrage beim übertragen
03.11.2014 21:32:46
Stefan
Hallo Daniel,
danke für Deine Hilfe.
Habe das nun folgendermaßen gelöst:
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 1 ' Gibt an wie viele Spalten der Bereiches angezeigt werden sollen
ListBox1.RowSource = "Tabelle2!K1:K5" ' Definiert den Bereich
ListBox1.ColumnWidths = "20" ' Gibt an wie Breit die Ausgabe der einzelnen Zellen sein soll
End Sub
Private Sub CommandButton1_Click()
Dim lngLR As Long
Dim intCount As Integer
Dim rngData As Range
lngLR = Worksheets(ListBox1.Text).Cells(Rows.Count, 2).End(xlUp).Row + 1
Set rngData = Worksheets(ListBox1.Text).Cells(lngLR, "B").Resize(1, 9)
For intCount = 1 To rngData.Cells.Count
rngData.Cells(intCount).Value = Me.Controls("TextBox" & intCount).Value
Next intCount
End Sub
Einziger Schönheitsfehler... wie bekomme ich den Wert den ich in der Listbox ausgewählt habe auch in das betreffend Tabellenblatt / die dazugehörigen Zellen
Im Moment schreibt er mir nur die Daten der TextBoxen in die Tabelle
Gruß
Stefan

Anzeige
AW: Abfrage beim übertragen
03.11.2014 21:40:56
Daniel
Hi
wenn du konsequent gearbeitet hast und die Textbox1 durch die Listbox1 ersetzt hast, dann darf es die Textbox1 nicht mehr geben und deine erste Textbox ist die Textbox2.
Dh deine Schleife sollte dann bei 2 beginnen und und die erste Zelle müsste leer bleiben.
Dann kannst du ja den Listboxtext direkt in die Entsprechende Zelle schreiben, halt ausserhalb der Schleife:
...
rngData.Cells(1).Value = Listbox1.Text
For intCount = 2 To rngData.Cells.Count
rngData.Cells(intCount).Value = Me.Controls("TextBox" & intCount).Value
Next intCount
End Sub
als DirtyLittleTrick gäbs noch die Variante, dass du deine ListBox1 in Textbox1 umbenennst, dann kannst du sie normal über die Schleife wie die anderen Textboxen ansprechen (die Eigenschaft Text gibt es ja bei beiden Steuerelementtypen)
Für die Programmierung ist das kein Problem, weil des den Steuerelementen egal ist, wie sie benannt werden, aber für denjenigen der den Code list könnte es verwirrend sein, deswegen ist von sowas eher abzuraten.
Gruß Daniel

Anzeige
Erledigt, Danke
03.11.2014 21:41:49
Stefan
hab es selbst rausbekommen.
Gruß
Stefan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige