Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Problem

Forumthread: VBA Problem

VBA Problem
mathias
hallo,
ich mache zurzeit eine ausbildung zum staatlich geprüften techniker und muss im rahmen des excel unterrichts eine art webshop mit excel bzw vba realisieren. hierbei habe ein problem und hoffe auf eure hilfe.
habe eine userform mit der sich der kunde bei meinem shop registrieren kann(name,vorname geburtsdatum etc.) darunter ist ein button mit registieren. nun soll vba beim klicken des buttons prüfen ob in den textboxen etwas steht oder nicht. sind alle eingaben ok, soll das in eine tabelle geschrieben werden. leider bleibt der compiler bei der prüfung des inhalts der textbox schon stehen und ich hab keine ahnung warum...
hier mal das was ich bisher geschrieben habe
Private Sub Commandbutton1_click()
[a1].Select 'problem den er soll nicht einfach irgendwo a1 auswählen sondern auf dem worksheet"kunden"
While ActiveCell "" 'schleife die in der tabelle die nächste freie zelle in spalte a1 suchen soll
ActiveCell.Offset(1, 0).Select
Wend
If IsText(TextBox1) Then: 'fehlermeldung sub oder function nicht definiert bei IsText
ActiveCell = TextBox1
Else: MsgBox "Bitte Vornamen eingeben"
[b1].Select
While ActiveCell ""
ActiveCell.Offset(1, 0).Select
Wend
If IsText(TextBox2) Then:
ActiveCell = TextBox2
Else: MsgBox "Bitte Nachnamen eingeben"
hoffe der fehler ist nicht alzu einfach und ihr könnt mir helfen:-)
in diesem sinne gruß mathias
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Problem
02.06.2012 07:13:41
mathias
aso hab ich vergessen...variablen wurden keine deklariert
AW: VBA Problem
02.06.2012 08:31:26
Beverly
Hi Mathias,
Private Sub CommandButton1_Click()
Dim lngLetzte As Long
With Worksheets("Kunden")
lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
If IsNumeric(TextBox1) Or IsNumeric(TextBox2) Then
If IsNumeric(TextBox1) Then MsgBox "Bitte Vornamen eingeben"
If IsNumeric(TextBox2) Then MsgBox "Bitte Nachnamen eingeben"
Else
.Cells(lngLetzte + 1, 1) = TextBox1
.Cells(lngLetzte + 1, 2) = TextBox2
End If
End With
End Sub



Anzeige
AW: VBA Problem
03.06.2012 14:45:23
mathias
Vielen dank erstmal. haut auch soweit hin..alerdings tun sich nun ein paar neue probleme auf *sorry*
habe den code ein wenig erweitert...insgesamt habe ich nämlich 10 textboxen...textbox1 und textbox2 schreibt er bei excel auch in die nächste freie zeile...aber ab textbox3 schreibt er es einfach in die erste 1. zeile...
Private Sub CommandButton1_Click()
Dim lngLetzte As Long
With Worksheets("Kunden")
lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
If IsNumeric(TextBox1) Or IsNumeric(TextBox2) Or IsNumeric(TextBox3) Or IsNumeric( _
TextBox6) Or IsNumeric(TextBox9) Then
If IsNumeric(TextBox1) Then MsgBox "Bitte Vornamen eingeben"
If IsNumeric(TextBox2) Then MsgBox "Bitte Nachnamen eingeben"
If IsNumeric(TextBox3) Then MsgBox "Bitte Straße eingeben"
If IsNumeric(TextBox6) Then MsgBox "Bitte Ort eingeben"
If IsNumeric(TextBox9) Then MsgBox "Bitte Benutznamen eingeben"
Else
.Cells(lngLetzte + 1, 1) = TextBox1
.Cells(lngLetzte + 1, 2) = TextBox2
.Cells(IngLetzte + 1, 3) = TextBox3
.Cells(IngLetzte + 1, 4) = TextBox4
.Cells(IngLetzte + 1, 5) = TextBox5
.Cells(IngLetzte + 1, 6) = TextBox6
.Cells(IngLetzte + 1, 7) = TextBox7
.Cells(IngLetzte + 1, 8) = TextBox8
.Cells(IngLetzte + 1, 9) = TextBox9
.Cells(IngLetzte + 1, 10) = TextBox10
End If
End With
End Sub
danke schonmal für die hilfe
Anzeige
AW: VBA Problem
03.06.2012 18:09:32
Beverly
Hi Mathias,
ich habe meine Variable lngLetzte (mit einem kleinen "L" am Anfang) benannt, du jedoch verwendest für die TextBoxen ab TextBox3 eine andere Variable, und zwar IngLetzte (mit einem großen "I" am Anfang). Diese ist 0 (Null), da ihr kein Wert zugewiesen wird. Derartige Fehler kann man vermeiden, wenn man mittels Option Explicit eine Variablendeklaration erzwingt, denn dann hättest du die Meldung erhalten, dass IngLetzte nicht deklariert ist.


Anzeige
AW: VBA Problem
03.06.2012 19:20:47
mathias
super funktioniert....vielen dank....versteh zwar den syntax nicht so ganz aber das wird schon noch...also vielen dank und nen schönen sonntag abend noch
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige