Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
228to232
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
228to232
228to232
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textbox Eintrag in Tabelle

Textbox Eintrag in Tabelle
13.03.2003 00:03:44
Markus
Hi Leute

Habe in der Rechersche folgenden Code gefunden. Geht soweit ganz gut... aber wie bekomme ich es hin das
1. ich nicht immer mit klick bestätigen muß sondern mit Enter
2. das automatisch erkannt wird das A1 schon gefüllt ist und weiter in A2,A3,A4 usw. eingetragen wird
Private Sub CommandButton1_Click()
Sheets("Tabelle1").Range("A1").Value = TextBox1
End Sub

Brauch ich bestimmt einen extra Code für oder???

Gruß und Danke

Markus

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Textbox Eintrag in Tabelle
13.03.2003 00:13:50
heinz

hi
zu 1: du kannst einem steuerelement den focus zuweisen, dann wird das ereignis - bei buttons das klick ereignis - ausgeführt. mehr dazu in der hilfe unter command button oder focus

zu 2: mit do loop oder find kannst du die erste freie zelle in spalte (zb) a finden und dann einfügen.
z.b.

Sub ...()
Dim i as Integer
i=1
Do Until IsEmpty(Cells(i,1))
Sheets("Tabelle1").Range("A1").Value = TextBox1
i=i+1
Loop
...

gruß, heinz

Re: Textbox Eintrag in Tabelle
13.03.2003 00:26:02
Markus

Hallo Heinz

Erst einmal Danke für deine Antwort aber so richtig hab ichs noch nicht. das funzt nicht.
Der Wert der Textbox wird zwar eingetragen aber auch nur jeweils in A1??

Woran liegst... hab ich einen Fehler gemacht?

Gruß
MArkus

Anzeige
Re: Textbox Eintrag in Tabelle
13.03.2003 01:12:37
heinz

a ja - fehler

Dim i as Integer
i=1
Do Until IsEmpty(Cells(i,1))
i=i+1
Loop
Sheets("Tabelle1").Range("A1").Value = TextBox1

Re: Textbox Eintrag in Tabelle
13.03.2003 01:26:08
heinz

also, jetzt noch genauer mit beispiel:
hier muss man zb auf ein textfeld der userform doppelklicken (gibt auch andere ereignisse) um fortlaufend in spalte a zeugs einzutragen:

zuerst im editor auf die userform doppelklicken und dann:

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
i = 1
Do Until IsEmpty(Cells(i, 1))
i = i + 1
Loop
Sheets("Tabelle1").Cells(i, 1).Value = TextBox1
End Sub


Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
i = 1
Do Until IsEmpty(Cells(i, 1))
i = i + 1
Loop
Sheets("Tabelle1").Cells(i, 1).Value = TextBox2
End Sub


Private Sub TextBox3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
i = 1
Do Until IsEmpty(Cells(i, 1))
i = i + 1
Loop
Sheets("Tabelle1").Cells(i, 1).Value = TextBox3
End Sub

Anzeige
Re: Textbox Eintrag in Tabelle
13.03.2003 01:45:12
heinz

ach ja,
wenn du sehr viele textboxen hast, dann rentierts ein unterprogramm zu machen, allerdings muss man dann, so viel ich weiss, die textboxen, um sie variabel ansprechen zu können, in einer NewCollection zusammenfassen. rentiert aber nur wenns viele sind.

sieht ca. so aus:

sub userform initialize
dim texte as NewCollection
texte(1).AddControl("TextBox1")
end sub

und ca. so

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

x = 1
Call unterprogramm
End Sub

Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

x = 2
Call unterprogramm
End Sub

und ca. so:

sub unterprogramm
Dim i As Integer
i = 1
Do Until IsEmpty(Cells(i, 1))
i = i + 1
Loop
Sheets("Tabelle1").Cells(i, 1).Value = texte(x)
End Sub

mit find geht das leere zelle suchen viel schneller - verwend ich aber nur wenn in der erste spalte beschriftungen stehen - dieses find funzt so komisch - fängt in der 2ten zeile an und hört in der ersten auf und so kas

Anzeige
Re: Irgendwie falsch verstanden oder ausgedrückt
13.03.2003 09:39:00
Markus

Hallo Heinz

War vieleicht auch schon etwas spät heute Nacht... Habe allerdings was anderes gemeint als das was du mir vorgeschlagen hast. Schade um die ganze Arbeit war allerdings nicht ganz umsonst irgendwann kann man das immer mal brauchen. Werde es auf jeden Fall einmal archivieren.

Was ich aber gerne gehabt hätte!
Ich benutzte nur eine Textbox in die ich einen Namen eingeben möchte dieser Name erscheint dann in Tabelle1 A1, Eingabe wird bestätigt. Der Name verschwindet aus der Textbox. Nun gebe ich den zweiten Namen in die selbe Textbox ein - allerdings ist A1 schon beschrieben Excel soll nun erkennen das diese Zelle schon einen Namen enthält und die nächstfolgende also A2 anspringen und eintragen. Und das selbe mit A3,A4,A5 usw.

Sorry das ich mich vieleicht ein wenig umständlich ausgedrückt habe.

Anzeige
Re: Irgendwie falsch verstanden oder ausgedrückt
13.03.2003 11:53:40
heinz

aso

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
i = 1
Do Until IsEmpty(Cells(i, 1))
i = i + 1
Loop
Sheets("Tabelle1").Cells(i, 1).Value = TextBox1
TextBox1.Text = ""
End Sub

so gehts wenn noch ein anderes steuerelement auf der form ist - sonst kann die textbox den focus nicht abgeben und das eingeben funktioniert nicht. wenns prizipiell klappt, dann stell doch eine neue frage: wie bekomme ich nach eingabe in eine textbox den focus gleich wieder zurück um ohne unterbrechung eine neue eigabe machen zu können.
aber wie gesagt: wenn dus jetzt nur mal auf einer testform ausprobierts dann brauchst du zb eine zweite textbox damit die erste den focus abgeben kann

gruß, heinz

Anzeige
Re: Irgendwie falsch verstanden oder ausgedrückt
13.03.2003 12:28:40
heinz

aso

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
i = 1
Do Until IsEmpty(Cells(i, 1))
i = i + 1
Loop
Sheets("Tabelle1").Cells(i, 1).Value = TextBox1
TextBox1.Text = ""
End Sub

so gehts wenn noch ein anderes steuerelement auf der form ist - sonst kann die textbox den focus nicht abgeben und das eingeben funktioniert nicht. wenns prizipiell klappt, dann stell doch eine neue frage: wie bekomme ich nach eingabe in eine textbox den focus gleich wieder zurück um ohne unterbrechung eine neue eigabe machen zu können.
aber wie gesagt: wenn dus jetzt nur mal auf einer testform ausprobierts dann brauchst du zb eine zweite textbox damit die erste den focus abgeben kann

gruß, heinz

Anzeige
Re: Textbox Eintrag in Tabelle
13.03.2003 17:38:40
Carsten

Hi ganz einfach


Set Frm = dein Tabellenname
Sheets("dein Tabellenname").Activate
Range("A65535").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = .TextBox1
End With

der Carsten

Re: Danke vielmals, Gruß Markus o. T.
13.03.2003 18:09:19
Markus

o. T.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige