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 Userform
BildScreenshot zu Userform Userform-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

Daten übertragen

Betrifft: Daten übertragen von: Stefan Glander
Geschrieben am: 04.11.2014 13:56:41

Hallo Forum,
ich komme mal wieder nicht weiter und bitte um Hilfe.
Ich habe eine Userform erstellt auf der mittels einer Listbox und 8 Texboxen Daten eingetragen werden.
In der Listbox wir bestimmt in welches Tabellenblatt geschrieben wird.
Mit Commandbuton2 löse ich das eintragen aus.
Der Codeschnippsel sieht folgendermaßen aus:

Private Sub CommandButton2_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
leeren
End Sub

Das klappt auch... aber....
Die Tabellenblätter die für die Datenaufnahme vorgesehen sind, habe ich mit Rahmen und Muster belegt.
Nun werden die Daten erst ans Ende der Formatierung geschrieben.
Außerdem habe ich in den einzelnen Spalten noch Überschriften, so das wenn ich die Daten eigentlich erst ab Zelle B7 eintragen möchte.
Weiterhin habe ich aus optischen Gründen, ich weiß, könnte ich einfach rausnehmen, noch 2 Spalten als Leerspalten. Die Daten sollen eigentlich in die Spalten B7:F7 und H7:I7 und K7 eingetragen werden.
Dieses könnte ich "austricksen" wenn ich in der UF 2 weiter TextBoxen einfüge und die nicht anzeigen lasse. So würde immer ein leerer Wert übergeben werden.
Geht aber ja vielleicht auch anders.
Über Hilfe würde ich mich freuen

Gruß
Stefan
PS:Wenn es einfacher ist kann ich die Mappe auch hochladen

  

Betrifft: Wenn es einfacher ist: ja owT von: Rudi Maintaire
Geschrieben am: 04.11.2014 14:21:42




  

Betrifft: AW: Wenn es einfacher ist: ja owT von: Stefan Glander
Geschrieben am: 04.11.2014 14:45:00

Hallo Rudi,

hier im Anhang die Datei

Gruß
Stefan

https://www.herber.de/bbs/user/93539.xlsm


  

Betrifft: AW: Wenn es einfacher ist: ja owT von: Rudi Maintaire
Geschrieben am: 04.11.2014 15:14:33

Hallo,
lngLR = Worksheets(ListBox1.Text).Cells(Rows.Count, 2).End(xlUp).Row + 1

in B stehen Formeln.
Lösch sie und schreib die lfdNr per VBA.

Gruß
Rudi


  

Betrifft: AW: Wenn es einfacher ist: ja owT von: Stefan Glander
Geschrieben am: 04.11.2014 15:51:47

Hallo Rudi,
danke für den Tipp.
Habe es beides ausprobiert. Einmal Deinen Vorschlag und dann meine Idee.

lngLR = Worksheets(ListBox1.Text).Cells(Rows.Count, 3).End(xlUp).Row + 1

Set rngData = Worksheets(ListBox1.Text).Cells(lngLR, "c").Resize(1, 9)

Soweit so gut.

Im Moment schreibe ich ja alle Daten des Satzes in das Tabellenblatt welches ich in der Listbox ausgewählt habe.
Besteht nun auch die Möglichkeit das die TextBoxen 4 5 und 6 zusätzlich in ein Tabellenblatt eingetragen werden das in TextBox 3 steht?

Das ist nur eine Überlegung, ich brauche das nicht, möchte es aber gerne begreifen und lernen.
Wenn es Deine Zeit zulässt, wäre es nett wenn Du so was in die Musterdatei einbauen könntest.(Schön wären ein paar Kommentare)
Danke für Deine Mühe, Geduld und Zeit.
Stefan


  

Betrifft: AW: Wenn es einfacher ist: ja owT von: Rudi Maintaire
Geschrieben am: 04.11.2014 17:03:53

Hallo,
Besteht nun auch die Möglichkeit das die TextBoxen 4 5 und 6 zusätzlich in ein Tabellenblatt eingetragen werden das in TextBox 3 steht?
Sicher. Das Prinzip ist das gleiche.
Textbox3 statt Listbox1.Text

Gruß
Rudi


  

Betrifft: Mein Fehler von: Stefan Glander
Geschrieben am: 04.11.2014 18:20:47

Hallo Rudi,
mein Fehler.
Ich meine nicht das der die Daten "Nur" in das Tabellenblatt schreibt welches in Texbox3 steht
sondern sowohl in in das Tabellenblatt der Textbox1 als "auch" in die Tabelle di in TextBox 3 steht.
Sprich die Daten sollen doppelt geschrieben werden, zu mindestens ein Teil.
Gruß
Stefan


  

Betrifft: na und? von: Rudi Maintaire
Geschrieben am: 04.11.2014 19:02:01

Hallo,
dann häng doch den Code für das Schreiben in Tabelle "Textbox3" an den Code für Schreiben in Tabelle "Listbox1" an.

Muss man denn alles vorkauen??!!!

Gruß
Rudi


  

Betrifft: Thanks von: Stefan Glander
Geschrieben am: 04.11.2014 23:22:03

Hallo Rudi,
hab es nun endlich hinbekommen. Danke Dir für die Hilfe

Gruß
Stefan


 

Beiträge aus den Excel-Beispielen zum Thema "Daten übertragen"