Daten/Wert von Textfeld in bestimmte Zelle
#1
Hallo,
Ich möchte gerne mit Excel ein Auswertungstool realisieren, welches dazu dient Fragebögen, welche an bestimmten Veranstaltungen verteilt werden, auszuwerten.
 
1. Dafür wollte Ich ein Textfeld erstellen, in welches Ich den Namen der Veranstaltung schreibe. Dieser "Wert"/"Begriff" soll dann automatisch in eine vorher bestimmte Zelle eingefügt werden, sofern Ich mit der Eingabe fertig bin.

2. Ebenso möchte Ich gerne ein weiteres Textfeld einfügen, welches für Kritik, Verbesserungsvorschläge etc. dient. Dabei sollte, sobald man etwas in dieses Feld schreibt, automatisch der "Begriff" in eine andere Zelle eingefügt werden. Danach sollte sich das Feld automatisch leeren. Sobald man dann einen neuen Begriff in das Textfeld eintippt, soll der Begriff wiederrum in die nächste, untere Zelle eingefügt werden, sodass man am Ende sozusagen eine kleine Liste hat, in welcher man alle Wünsche etc. vorfinden kann. Kann man dabei noch eine Art automatische-Vervollständigung einbauen? Damit meine Ich, dass man Begriffe, welche schon in der Liste vorkommen, vorgeschlagen bekommt, damit es keine Dopplungen gibt? :D

Ich kenne mich leider mit VDA noch gar nicht so gut aus und hoffe, dass Ihr mir mit meinem Problem vielleicht weiterhelfen könntet.

Viele Grüße

McArthur1
Top
#2
Hallöchen,

erst mal ein Ansatz und eine Frage. Müssen es undbedingt Textfelder sein?

Wenn Du die Daten einfach in eine Zelle eingibst, würde ein solcher Code für die eine Zelle reichen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Cells(Cells(Rows.Count, 2).End(xlUp).Row + 1, 2) = Target.Value
End Sub

Der Code kommt in das Codemodul der Tabelle. Mit ALT+F11 kommst Du dazu in den VBA-Editor. Auf der linken Seite hast Du, ähnlich wie im Windows-Explorer, eine Strukturdarstellung. Du klickst dort doppelt auf deine Datei und die Tabelle und auf der rechten Seite bst Du dann im Codefenster der Tabelle. Bitte anhand der Titelzeile kontrollieren, manchmal klappt das nicht gleich. Dort fügst Du den Code ein.

Wenn Du in A1 was eingibst, wird das in die Spalte B unter den letzten vorhandenen Eintrag, mit dieser variante frühestens in Zeile 2, übernommen.

Wenn das passt, bauen wir darauf nicht. Ansonsten schauen wir, wie wir das mit den Textfeldern hin bekommen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
Hallo schauan,

Erstmal danke für die schnelle Antwort ::)

Es sollten aber doch Textfelder sein, da ich eine Vorlage des Fragebogens als png in die Tabelle einfüge und über diesen Fragebogen sollten dann die antwortmöglichkeiten mit einem Textfeld auswählbar sein.
Ich freue mich über jede Hilfe

Viele grüße 

McArthur1
Top
#4
Hallöchen,

ich habe mal im Anhang ein Beispiel mit zwei TextBoxen. Die Eingaben werden beim Verlassen der TextBox in Spalte A oder B eingetragen. Damit meine ich jedes Verlassen im Sinne von reinklicken, etwas eingeben oder auch nicht, und raus klicken ...


Angehängte Dateien
.xlsm   LostFocus.xlsm (Größe: 21,48 KB / Downloads: 15)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#5
Hallo,
Vielen Dank für deine Hilfe. 
Wie müsste Ich den Code anpassen, wenn Ich die Zelle (Spalte,Zeile) ändern wollen müsste, den als Ich das versucht habe wurde mir nur eine Fehlermeldung angezeigt.
Wäre es auch möglich, dass man durch die Enter-Taste die Eingabe beendet ?

Viele Grüße 

McArthur1
Top
#6
Hallöchen,

Cells(1,1) bedeutet Zeile 1 Spalte 1 (=A). Wenn Du die Spalte ändern willst, dann die 1 nach dem Komma ändern. Vor dem Komma wird im Code in der Datei und hier im nächsten Beispiel die erste freie Zeile berechnet.

ENTER bekommst Du so hin:

Code:
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#7
Hallo,
Vielen Dank für deine Hilfe und soweit funktioniert alles. 
Wäre es allerdings möglich, dass auch mit einem einfachen "Rechteck", Viereck (Normale Form) zu machen, anstatt einem Textfeld/CommandButton/Schaltfläche?

Und gibt es auch einen Code, damit immer das selbe Feld verändert wird. Das bedeutet bei Eingabe/Eingabe-Ende wird der Begriff von dem Quadrat/Rechteck in eine von mir vorher bestimmte Zelle eingefügt (Wenn man den Begriff im Rechteck ändert, wird sozusagen die Zelle aktualisiert)?

Viele Grüße

McArthur1
Top
#8
Hi Arthur,

du kannst jeder beliebigen Grafik ein Makro zuweisen. Ich selbst arbeite sehr gerne mit transparenten Rechtecken.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#9
Hallo WillWissen,
irgendwie will der Code dann aber bei mir nicht mehr funktionieren. :D
Ich freue mich um jede Hilfe.

Viele Grüße

McArthur1
Top
#10
Hi Arthur,

VBA und ich sind nicht kompatibel. Habe deshalb Andrés Beispiel nur modifiziert, um dir zu zeigen, dass Grafiken Makros zugewiesen werden können. In meinem Beispiel sind über den beiden Zellen (D2 und E2) jeweils ein Rechteck mit Transparenz 99% gelegt; das Makro musste etwas umgeschrieben werden.


.xlsb   Makro_ueber_Grafik_aktivieren.xlsb (Größe: 21,47 KB / Downloads: 5)
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • McArthur1
Top


Gehe zu:


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