Thema Datum  Von Nutzer Rating
Antwort
02.04.2008 07:09:26 Timmsen
NotSolved
02.04.2008 11:58:36 Holger
NotSolved
02.04.2008 12:46:21 Timmsen
NotSolved
02.04.2008 12:52:50 Timmsen
NotSolved
02.04.2008 13:09:14 Holger
NotSolved
Blau Ergänzung Aw: Datensätze aus Excel Speichern
03.04.2008 10:55:20 Holger
NotSolved
03.04.2008 11:34:14 Timmsen
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
03.04.2008 10:55:20
Views:
1711
Rating: Antwort:
  Ja
Thema:
Ergänzung Aw: Datensätze aus Excel Speichern
Hallo Timmsen,

ich habe deinen Code mal angesehen. Wenn ich ihn recht verstehe, willst du Werte aus TextBoxen der UserForm und aus Sheets(1) nach Sheets(2) in die Spalten A bis E der nächsten freien Zeile schreiben.
Mit den ersten Befehlen sollen wohl Überschriften in Sheets(1) erzeugt werden. Diese schreibst du in die Zeile 4, die du weiter unten mit den zu übertragenen Werten überschreibst. Das ist wohl nicht so gewollt, oder?
Empfehlung: Schreibe die Überschriften nur einmal ins Sheets(2), ggf. manuell. Nehmen wir an, du schreibst diese in die Spalten A bis E der Zeile 2 und es sind noch keine Werte übertragen. Dann ist die letzte beschriebene Zelle in Spalte A A2.
a = Range("A65336").End(xlUp).Row
setzt dann die Variable a auf 2. Die nächste freie Zeile (deine Variable Zeile) ist dann a+1, also
Zeile= Range("A65336").End(xlUp).Row+1.

Jetzt verwendest du ein Do-Loop-Schleife ohne Abbruchkriterium. Sieh einmal in die VBA-Hilfe hierzu. Solche Kriterien werden mit Until oder While hinter dem Loop oder dem Do eingefügt, je nach dem ob die Schleife wenigstens einmal durchlaufen werden soll oder bei Erfüllung des Kriteriums sofort abgebrochen werden soll. Ich gehe aber davon aus, dass du diese Schleife gar nicht brauchst.

Mit dem UserForm1.Show wechselt VBA zur UserForm1 und bleibt dort, bis diese entweder durch ein Terminate-Ereignis (Klicken auf das Abbruch-Kreuz) oder durch einen Befehl Unload UserForm1 beendet wird. Die Befehle
ThisWorkbook.Sheets(2).Cells(Zeile, 1) = UserForm1.TextBox1.Text
ThisWorkbook.Sheets(2).Cells(Zeile, 2) = UserForm1.TextBox2.Text
ThisWorkbook.Sheets(2).Cells(Zeile, 3) = UserForm1.TextBox3.Text
ThisWorkbook.Sheets(2).Cells(Zeile, 4) = ThisWorkbook.Sheets(1).Cells(6, 3)
ThisWorkbook.Sheets(2).Cells(Zeile, 5) = ThisWorkbook.Sheets(1).Cells(8, 3)
ThisWorkbook.Sheets(1).Cells(6, 3) = ""
ThisWorkbook.Sheets(1).Cells(8, 3) = ""
sollest du also in den Codeteil der UserForm schreiben. Wie man eine UserForm anlegt, wie man Steuerelemente einfügt und wie man Code hierfür schreibt, habe in der Antwort an Tina (Makro spinnt v. 03.03.08, 09:46) v. 03.03.08, 17:40 dargestellt. Du brauchst wohl mindestens 3 TextBoxen und zwei Befehlsschaltflächen für OK und Abbrechen.

Also:
1. Im Modul (z.B. NewMacros) brauchst du
Sub daten()
Load UserForm1 ’wenn deine UserForm so heißt
UserForm1.show
end sub
2. Im Codeteil der UserForm
private sub commandbutton1_click ’wenn dieser der OK-Button ist
ThisWorkbook.Sheets(2).activate
Zeile= Range("A65336").End(xlUp).Row+1.
Cells(Zeile, 1) = UserForm1.TextBox1.Text
Cells(Zeile, 2) = UserForm1.TextBox2.Text
Cells(Zeile, 3) = UserForm1.TextBox3.Text
Cells(Zeile, 4) = ThisWorkbook.Sheets(1).Cells(6, 3)
Cells(Zeile, 5) = ThisWorkbook.Sheets(1).Cells(8, 3)
Cells(6, 3) = ""
Cells(8, 3) = ""
Unload UserForm1
end sub

private sub commandbutton2_click ’wenn dieser der Abbrechen-Button ist
Unload UserForm1
end sub

Jetzt könntest du noch Befehle zum automatischen Speichern etc. einfügen.
Gruß
Holger

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
02.04.2008 07:09:26 Timmsen
NotSolved
02.04.2008 11:58:36 Holger
NotSolved
02.04.2008 12:46:21 Timmsen
NotSolved
02.04.2008 12:52:50 Timmsen
NotSolved
02.04.2008 13:09:14 Holger
NotSolved
Blau Ergänzung Aw: Datensätze aus Excel Speichern
03.04.2008 10:55:20 Holger
NotSolved
03.04.2008 11:34:14 Timmsen
NotSolved