Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1596to1600
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
Wert aus Textbox in Zelle wenn Checkbox
18.12.2017 08:39:07
Sandro
Liebes Forum, ich bin wieder an meine Grenzen gestossen.
In einem UserForm in Tabelle1 wird unter anderem in eine TextBox ein Datum eingetragen und in einer weiteren TextBox wird automatisch eine Auftragsnummer generiert. Zusätzlich hat es eine Checkbox. Wenn diese Checkbox aktiviert wird und ein Commandbutton betätigt wird, möchte ich, dass in Tabelle2 die Spalte A nach der Auftragsnummer durchsucht wird und dann in Spalte G das Datum eingetragen wird.
Zur Veranschaulichung:
Userform in Tabelle1:
Auftragsnummer: 17002
Datum: 18.12.2017
Checkbox : x (Aktiviert)
Klick auf CommandBox
Tabelle2:
Spalte A nach Auftragsnummer durchsuchen
Spalte G Datum eintragen
Dies ist mein bisheriger Code dafür:
If Checkbox Then
Dim Zelle As Range
Dim Name As String
Name = Datum.Text
iRow = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
If Name = "" Then Exit Sub
For Each Zelle In Worksheets("Tabelle2").Range("A5:A" & iRow)
If Zelle = Name Then
Zelle.Offset(0, 6).Text = Datum.Text
Exit Sub
End If
Next Zelle
Exit Sub
End If
Was habe ich übersehen/falsch gemacht?
Grüsse
Sandro

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Name sollte man nicht verwenden Schlüsselwort VBA
18.12.2017 09:14:56
Matthias
Hallo
Sieht eher so aus als suchst Du nicht nach der Auftragsnummer, sondern nach dem Datum.
Name = Datum.Text
If Zelle = Name Then Zelle.Offset(0, 6).Text = Datum.Text
Datum ist doch sicherlich die Textbox in der das Datum steht, oder?
https://www.herber.de/bbs/user/118391.xlsm
Code der Datei:
Option Explicit
Private Sub CommandButton_Click()
Dim Zelle As Range
Dim MyName As String
Dim iRow As Long
If CheckBox Then
MyName = UserForm1.Datum.Text
iRow = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
If MyName = "" Then Exit Sub
For Each Zelle In Worksheets("Tabelle2").Range("A5:A" & iRow)
If Zelle.Value = CLng(UserForm1.txtAuftragsNr.Value) Then
Zelle.Offset(0, 6) = CDate(UserForm1.Datum.Text)
Exit Sub
End If
Next Zelle
End If
End Sub

Gruß Matthias
Anzeige
Zusatzinfo: Fehlerbehandlung ...
18.12.2017 09:25:52
Matthias
Zusatzinfo, Sandro ...
... später muss noch eine Fehlerbehandlung mit rein!
Diese muss dann abfangen, wenn die Textbox(en) ungültiges Daten enthalten oder leer sind.
Hab ich aber in der Bsp.Datei noch nicht mit eingepflegt!
Gruß Matthias
AW: Zusatzinfo: Fehlerbehandlung ...
18.12.2017 10:06:12
Sandro
Hallo Matthias
Danke für den Hinweis, diese Fehlerbehandlung habe ich bei der TextBox.Datum.Text_Change() eingebaut.
Gruss
Sandro
AW: Zusatzinfo: Fehlerbehandlung ...
18.12.2017 10:06:18
Sandro
Hallo Matthias
Danke für den Hinweis, diese Fehlerbehandlung habe ich bei der TextBox.Datum.Text_Change() eingebaut.
Gruss
Sandro
Name sollte man nicht verwenden Schlüsselwort VBA
18.12.2017 09:59:15
Sandro
Hallo Matthias
Du hast vollkommen Recht, das war mein Fehler. Danke für deine rasche Hilfe. Jetzt funktioniert der Code. :)
Gruss
Sandro
Anzeige
AW: Wert aus Textbox in Zelle wenn Checkbox
18.12.2017 09:16:51
Nepumuk
Hallo Sandro,
was steht in Datum.Text ?
Das:
Zelle.Offset(0, 6).Text =
geht nicht da Text eine schreibgeschützte Eigenschaft ist. Das muss:
Zelle.Offset(0, 6).Value =
heißen.
Gruß
Nepumuk
AW: Wert aus Textbox in Zelle wenn Checkbox
18.12.2017 10:04:51
Sandro
Hallo Nepumuk
In Datum steht ein Datum. Mit der Anpassung von Matthias und deinem Hinweis funktioniert es nun perfekt. Herzlichen Dank.
Gruss
Sandro

326 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige