Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Daten/Wert von Textfeld in bestimmte Zelle
#11
Hallo McArthur,

Deine TextBox mit dem KeyDown-Event gehört zu den ActiveX-Steuerelementen.
Ein Rechteck gehört zu den Shapes. Ein Shape hat jedoch kein KeyDown-Ereignis Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • McArthur1
Antworten Top
#12
Hallo,
Danke shauan und WillWissen für eure Hilfe, ihr hilft mir wirklich weiter :).
Meine Frage wäre jetzt noch ob Ich konkret mit einem Rechteck/Shape genau das selbe bewirken könnte, wie mit dem Textfeld. Das bedeutet, wenn Ich auf das Feld klicke kann Ich irgendeinen Begriff eingeben und dieser wird dann automatisch in eine von mir festgelegte Zelle übertragen. Wenn Ich dann einen neuen Begriff eingebe, soll der alte aus der Zelle, einfach überschrieben werden. Die Eingabe sollte dabei durch die Enter Taste beendet werden.

Außerdem bräuchte Ich nochmals einen ähnlichen Code, bei welchem der alte Begriff nicht ersetzt werden, sondern der neue Begriff, eine Zeile nach unten verschoben werden soll.
Ich hoffe Ihr könntet mir vielleicht hierbei noch weiter helfen.

Viele Grüße

McArthur1
Antworten Top
#13
Hallo McArthur,

Zitat:Meine Frage wäre jetzt noch ob Ich konkret mit einem Rechteck/Shape genau das selbe bewirken könnte, wie mit dem Textfeld. Das bedeutet, wenn Ich auf das Feld klicke kann Ich irgendeinen Begriff eingeben und dieser wird dann automatisch in eine von mir festgelegte Zelle übertragen.

hab ich Dir gerade beantwortet.

Zitat:Ein Shape hat jedoch kein KeyDown-Ereignis

Wenn man dem Rechteck ein Klick-Ereignis zuweist, kannst Du nicht mehr per Klick in den Eingabemodus des Rechteckes wechseln. Das geht dann nur noch über das Kontextmenü.
Alternativ könnte man beim ausgeführten Makro eine Inputbox erscheinen lassen, wo Du den Text eingeben kannst und dann wird er übertragen, wenn Du auf OK drückst.

Im Prinzip so:

Zitat:Sub Rechteck1_Klicken()
'Code in Modul
'Variablendeklaration String
Dim strText$
'Aufruf der Inputbox
strText = InputBox("Neuer Text:", "Eingabe des Textes")
'Wenn etwas eingegeben wurde, dann
If strText <> "" Then
'Text in erste freie Zelle der Spalte A = 1 uebertragen
Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = strText
'Text in Rechteck 1 uebertragen
Tabelle1.Shapes("Rectangle 1").TextEffect.Text = strText
'Ende Wenn etwas eingegeben wurde, dann
End If
End Sub

Du musst dann nur schauen, ob das Ding Rechteck 1 heißt und den englischen Begriff dafür nehmen. Man könnte da auch noch was mit Application.Caller verbessern ...

Zitat:sondern der neue Begriff, eine Zeile nach unten verschoben werden soll

Das hatten wir auch schon. Das ist aus diesem Code

Zitat:Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = Tabelle1.TextBox1.Text
End Sub

der Teil

Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#14
Hallo shauan,
tut mir Leid, dass Ich erst jetzt wieder schreibe. Ich habe mich jetzt dafür entschieden mit Textfeldern zu arbeiten. Könntest du mir vielleicht noch helfen und mir sagen, wie Ich deinen Code ändern müsste, damit der Begriff nicht immer in die nächste unterliegende Zeile übernommen wird, sondern genau in das Feld, in welches Ich den Begriff haben will?:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = Tabelle1.TextBox1.Text
End Sub

Viele Grüße

McArthur1
Antworten Top
#15
Hallöchen,

das Ziel wird hier definiert:
Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value

Wenn Du es an immer gleiche Stelle haben willst, dann z.B. so:
Range("A1").Value
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • McArthur1
Antworten Top
#16
Hallo,
Danke für deine Hilfe ;D, alles klappt so weit

Viele Grüße

McArthur1
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste