Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1412to1416
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

macro erklärung

macro erklärung
06.03.2015 20:56:35
Thomas
Hallo,
bin ein Neuling in Sachen VBA Hier werde ich von vielen lieben Leuten geholfen. Jedoch möchte ich ein wenig davon verstehen. Anbei ist ein kleiner Code der schreibt den Inhalt der Textboxen in die Zellen. So weit ist es klar. Ich habe an einigen stellen ein Fragezeichen gemacht und ich würde gern wissen was an diesen Stellen passiert. Schreibt mir bitte jemand daneben die Bedeutung? Wenn ich etwas falsches hingeschrieben habe kann das dann jemand berichtigen?
Wenn noch zeit ist könnte mir noch jemand eine schleife schreiben welche das gleiche macht. ( ist aber zweitrangig )
Das würde mir bei meinen ersten eigenen Gehversuchen riesig helfen.
Lieben lieben dank
Thomas
Private Sub CommandButton3_Click()
'neuen Datensatz anlegen
Dim letzte_Zeile As Long
Dim i%
For i = 1 To 16   ' Fehler unterdrücken wenn nichts ausgewählt ist, bedeutet textfeld 1 und  _
16 müssen ausgefüllt sein
Select Case i
Case 1, 16
If Me("TextBox" & i) = "" Then
MsgBox "ohne Name und Vorname geht nichts sorry!", , "Prüfung Mußeingaben"
Exit Sub
End If
End Select
Next i
If FindEintrag Then ' Doppelte ausschliessen
MsgBox "Der Name '" & Me.TextBox16.Value & " " & TextBox1 & "'ist schon vorhanden!"
Exit Sub
End If
With wksData
' Datensatz neu speichern
letzte_Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1   '''' ?
.Cells(letzte_Zeile, 1) = Application.WorksheetFunction.Max(.Columns(1)) + 1  ' suche  _
letzte zeile nimm eine darunter
.Cells(letzte_Zeile, 2) = TextBox1.Text ' schreibe von textbox1 den wert in spalte b
.Cells(letzte_Zeile, 3) = TextBox16.Text ' schreibe von textbox1 den wert in spalte c
.Cells(letzte_Zeile, 4) = TextBox2 ' schreibe von textbox1 den wert in spalte d
With .Cells(letzte_Zeile, 5)                  ' was passiert  von  hier?
If Me.TextBox3.Value = "" Then              ' was passiert  von  hier?
.ClearContents                             ' was passiert  von  hier?
ElseIf IsDate(Me.TextBox3.Value) Then          ' was passiert  von  hier?
.Value = CDate(Me.TextBox3.Text)              ' was passiert  von  hier?
Else
.Value = Me.TextBox3.Text                        ' was passiert  von  hier?
End If                                             ' was passiert  von  hier?
End With                                        ' was passiert  bis hier?
.Cells(letzte_Zeile, 6) = "'" & TextBox4.Text 'Schreibe von textbox4 in spalte F als  _
TextPLZ
.Cells(letzte_Zeile, 7) = TextBox5.Text
.Cells(letzte_Zeile, 8) = TextBox6.Text
.Cells(letzte_Zeile, 9) = TextBox7.Text
.Cells(letzte_Zeile, 10) = TextBox8.Text
.Cells(letzte_Zeile, 11) = "'" & TextBox9.Text 'Tel
.Cells(letzte_Zeile, 12) = "'" & TextBox10.Text 'Tel2
.Cells(letzte_Zeile, 13) = "'" & TextBox11.Text 'Tel3
.Cells(letzte_Zeile, 14) = "'" & TextBox12.Text 'Fax
.Cells(letzte_Zeile, 15) = TextBox13.Text
.Cells(letzte_Zeile, 16) = TextBox14.Text
.Cells(letzte_Zeile, 17) = TextBox15.Text
End With                                                    ' schreiben ist fertig
ClearAll                                                     'lösche alle textboxen
UserForm_Initialize                                          ' starte userform  neu ?
ComboBox1.SetFocus                                           ' ?
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: macro erklärung
07.03.2015 02:07:54
mumpel
Hallo!
"letzte_Zeile" ermittelt die erste freie Zeile (Spalte A wird geprüft).
".Cells(letzte_Zeile, 5)" = erste freie Zeile Spalte E (Spalte 5).
"If/ElseIf/Else" = Wenn Textbox 3 leer dann ermittelte Zelle in Spalte 5 leeren, wenn Inhalt Textbox 3 ein Datum dann Inhalt der Textbox 3 als Datum in die Zelle der Spalte 5, sonst Inhalt der Textbox 3 in die Zelle der Spalte 5.
"ComboBox1.SetFocus" = Der "ComboBox1" den Fokus geben, also auswählen.
"UserForm_Initialize" = Userform wird neu initalisiert, also die Inhalte neu geladen.
Gruß, René

AW: macro erklärung
07.03.2015 14:35:59
Thomas
Hallo Rene,
besten dank für die Erklärung. Damit komme ich weiter.
Es ist als Leihe schwierig das mit Google zu übersetzen. Nun kann ich den Code ein wenig anpassen.
Lieben Dank Thomas

Anzeige
AW: macro erklärung
07.03.2015 16:10:34
mumpel
Vergiss den Google-Translator, frag uns. ;-)

Tja, mit Translator in Ausleihe... ;-) Gruß owT
07.03.2015 16:45:29
Luc:-?
:-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige