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

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

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.


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
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige