Live-Forum - Die aktuellen Beiträge
Datum
Titel
03.05.2024 10:49:02
03.05.2024 10:43:56
03.05.2024 07:38:32
Anzeige
Archiv - Navigation
1928to1932
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

Keycode 13

Keycode 13
13.05.2023 15:50:52
Micha

Hallo zusammen..

wie kann ich es realisieren? und zwar..

ich habe 2 Textboxen..

also wenn ich die Tabelle öffne, zeigt mir die Textbox 1 den Zelleninhalt A1 an., wenn ich nun etwas in die Textbox 2 schreibe und mit Enter bestätige, wird mir in der Textbox1 der Inhalt aus Zelle a2 angezeigt.... soweit so gut.

ich möchte es gerne fortlaufend haben.

Private Sub Worksheet_Activate()
With Tabelle1
TextBox1.Text = Range("A1")
TextBox2 = ""
End With
End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Call Test1
End If
End Sub

Private Sub Test1()
TextBox2 = ""
TextBox1.Text = Range("A1").Offset(, 1)
End Sub

wie mache ich es das es weiter funktioniert? wenn ich wieder Enter drücke soll der Inhalt von A3 in Textbox1 angezeigt werden dann A4 ,A5 usw?

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

Betreff
Datum
Anwender
Anzeige
AW: Keycode 13
13.05.2023 16:16:05
volti
Hallo Micha,

hier eine Idee dazu.

Einfach einen globalen Zähler definieren und hochzählen.
Den könnte man auch z.B. durch Enter in TB1 wieder zurücksetzen oder eben nur bei Blattaktivierung...

Warum der eingegebene Text in TB2 sofort wieder gelöscht werden soll, bleibt mir allerdings verborgen.

Code:


Dim ciOffset As Long Private Sub Worksheet_Activate() With Tabelle1 TextBox1.Text = Range("A1").Value TextBox2 = "" ciOffset = 0 End With End Sub Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then ciOffset = ciOffset + 1 TextBox2 = "" TextBox1.Text = Range("A1").Offset(, ciOffset).Value End If End Sub Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then TextBox1.Text = Range("A1").Value TextBox2 = "" ciOffset = 0 End If End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz



Anzeige
AW: Keycode 13
13.05.2023 16:34:25
Micha
hallo Karl Heinz,,

vielen dank dafür..

"Warum der eingegebene Text in TB2 sofort wieder gelöscht werden soll, bleibt mir allerdings verborgen.".....

soll es eigentlich auch nicht... ich habe es so vor.. wenn in TEXTBOX1 der Text aus Zeile 1 steht (Header), möchte ich in die erste freie Zelle der Spalte, den Text aus Textbox 2 übertragen.wenn ich dann Enter drücke. soll mir die Textbox1 den (Header Spalte 2)anzeigen ,dann trage ich in Textbox2 wieder einen Wert ein. Dann halt so weiter bis alle Spalten abgearbeitet sind..


Anzeige
AW: Keycode 13
13.05.2023 16:17:05
Daniel
Hi

Option Explicit
Dim Zelle AS Range

Private Sub Worksheet_Activate()
With Tabelle1
Set Zelle =Range("A1")
TextBox1.Text = Zelle.Value
TextBox2 = ""
End With
End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Call Test1
End If
End Sub

Private Sub Test1()
TextBox2 = ""
Set Zelle = Zelle.Offset(1, 0)
TextBox1.Text = Zelle.value
End Sub
Gruß Daniel


AW: Keycode 13
14.05.2023 13:15:07
Micha
danke für die beiden Ideen..

das klappt super... ich hatte mir vorgestellt das nach dem Enter drücken der TEXT aus Textbox2 dann immer in die erste freie Zelle der jeweiligen Spalte geschrieben wird... aber das bekomme ich leider nicht hin....

für eure Hilfe wäre ich nochmal sehr dankbar

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige