Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1568to1572
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

Eingabe in Zellen erzwingen

Eingabe in Zellen erzwingen
02.08.2017 10:42:19
Manuela
Hallo Zusammen,
zu diesem Thema gibt es zwar schon viele Beiträge, aber ich konnte keinen finden, der mein Problem löst, daher hier nochmal.
Ich möchte per VBA in gewissen Spalten einer Zeile Eingaben erzwingen, sobald in Spalte A dieser Zeile etwas eingetragen wurde.
In der Beispieldatei ist bereit ein Coder hinterlegt, den ich gefunden habe und versucht habe anzupassen, aber leider funktioniert es nicht. Nicht wundern, ich habe hier ein bisschen rumprobiert, ohne wirklich zu verstehen warum es eigentlich nicht funktioniert.
Es handelt sich um das Tabellenblatt Vorlage.
https://www.herber.de/bbs/user/115168.xlsm
Außerdem ist im Tabellenblatt Vorlage noch ein weiterer Code zum automatischen ein- und ausblenden hinterlegt, dieser funktioniert jedoch bei mir weiterhin einwandfrei.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabe in Zellen erzwingen
03.08.2017 02:47:26
Piet
Hallo Manuela,
am einfachsten so wie unten: - 1 neues Modulblayy anlegen dort den Code Mit MsgBox kopieren
Den Teil in Target aenderni dann wird bei Eingabe in Spalte A der Code in Modul1 aufgerufen.
Wichtig ist die Übergabe der aktiven Zeile durch die Public Variabe.
Im Modul1 kannst du z.B. über Wert = InputBoX Eingaben erzwingen und in die jeweilige Spalte eintragen.
Die Anzahl der InputBoxen spielt keine Rolle.
mfg Piet

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns = 1 And Target.Row > 6 Then
TRow = Target.Row
Call Eingabe_inSpalten
Exit Sub
End If
If Target.Address(0, 0) = "F4" Then
'Modul1:
Public TRow As Integer
Sub Eingabe_inSpalten()
MsgBox "Hallo " & TRow
Wert = Inputbox("Bitte Wert für Spalte xx eingeben")
if Wert  "" THEN Cells(TRow, "xx") = Wert
End Sub

Anzeige
AW: Eingabe in Zellen erzwingen
07.08.2017 14:56:48
Manuela
Hallo Piet,
vielen Dank für deine Antwort, aber ich fürchte ich verstehe das nicht ganz oder ich mache es falsch.
Ich habe den Code kopiert und die Zeile
If Target.Columns
angepasst.
Dann habe ich ein Modul angelegt und den Rest eingefügt ab Modul1.
Jetzt funktioniert aber gar nichts mehr und ich bekomme auch keine Fehlermeldung zum Code bzw. den Debugger.
Muss ich noch irgendwas anderes anpassen?
Ich hatte das so verstanden, dass ich ab
If Target.Address(0, 0)
meinen vorherigen Code zum ein- und ausblenden direkt anhänn kann, aber das funktioniert auch nicht mehr. Oder muss ich die beiden trennen?
Anzeige
AW: Eingabe in Zellen erzwingen
07.08.2017 18:37:10
Piet
Hallo Manuela,
ich habe einen dummen Denkfehler in meinem Makro macht aber nichts, den bereinigen wir!
Das Makkro in Modul1 muss geaendert werden, s.unten, denn wenn du mal schaust hat der Code funktioniert.
Er hat den Wert der Eingabe aber sicher in der Spalte "xx" abgelegt, ausserhalb deines Sichtbereichs!!
Das Problem, bei der Eingabe muss ja noch festgelegt werden in welche Spalte die Eingabe erfolgen soll?
Ich brauche den Buchstaben der Spalte! Der kann am Anfang stehen, durch Komma getrennt, oder am Ende.
Entsprechend habe ich zwei Codes geschrieben, je nachdem wie es dir besser gefaellt. Deine Entscheidung.
Wenn ein Komma im Text oder Zahl vorkommt ist auch kein Problem. Das 1. Komma definiert die Spalte!
Im Test der InputBox kannst du noch selbst angeben wo die Spalte angegeben werden muss! - (First/Last)
Das der Code nicht weiterlaeuft liegt vielleicht an Exit Sub in Target hinter dem Call Befehl.
Nimm den mal raus, und schau was dann passiert. Wir probieren solange bis es funktioniert!
mfg Piet
Sub Eingabe_inSpalten()
Dim Spalte As String, Wert As Variant
Wert = InputBox("Bitte Wert für Spalte xx eingeben" & Chr(10) & "Bitte Spalte als Buchstabe  _
angeben")
If Wert = "" Then Exit Sub
'Code für Spalte wird zuletzt angeben, mit Komma !!
Spalte = Trim(Right(Wert, Len(Wert) - InStrRev(Wert, ",")))
Wert = Trim(Left(Wert, InStrRev(Wert, ",") - 1))
Cells(TRow, Spalte) = Wert
'Ende - oder diesen Code
'Code für Spalte wird zuerst angeben, mit Komma !!
Spalte = Trim(Left(Wert, InStr(Wert, ",") - 1))
Wert = Trim(Right(Wert, Len(Wert) - InStr(Wert, ",")))
Cells(TRow, Spalte) = Wert
End Sub

Anzeige
AW: Eingabe in Zellen erzwingen
07.08.2017 18:47:21
Piet
Hallo Manuela,
mir ist noch was eingefallen - wenn du mehrere Eingaben hast, sagen wir drei, vier, fünf Spalten waere es sinnvoller das ganze über eine kleine UserForm mit je einem Textfeld für Spalte und Eingabe zu machen. Dann kann man mehrere Spalten in einem Rutsch verbuchen.
Sollte dir das lieber sein kann man auch sowas entwickeln.
mfg Piet
AW: Eingabe in Zellen erzwingen
07.08.2017 18:50:06
Piet
Denk bitte daran das der Thread bald zu Ende ist und vom Admin PC in dieser Liste gelöscht wird!
Zum ansehen steht er im Forum Archiv zur Verfügung, aber ich kann dir dann -nicht mehr antworten-!!
AW: Eingabe in Zellen erzwingen
08.08.2017 04:36:24
Piet
Hallo Manuela
jetzt kann ich dir noch eine Beispieldatei für mehrfach Eingabe über UserForm anbieten.
Wenn der Thread zu ist findest du die Datei im Archiv. Würde mich freuen wenn es dir gefaellt.
Für die Buchung gibt es zwei Makros, eine mit Fehlerprüfung ob bereits eine Eingabe vorhanden ist,
das andere als einfache Version, ohne Fehlerprüfung. Du kannst frei waehlen welche dir zusagt.
mfg Piet
https://www.herber.de/bbs/user/115323.xlsm
Anzeige
AW: Eingabe in Zellen erzwingen
09.08.2017 13:45:03
Manuela
Hallo Piet,
und erstmal vielen Dank für deine Geduld mit mir. :)
Ich fürchte ich konnte keinen deiner Vorschläge umsetzen.
Ich habe jetzt noch einmal die akutelle Datei hochgeladen, vielleicht kannst du dir die mal anschauen?
https://www.herber.de/bbs/user/115358.xlsm
Hier sind sowohl für das Tabellenblatt Vorlage als auch für die Übersicht Codes hinterlegt.
Auch die Codes im Tabellenblatt Übersicht scheinen so zusammen nicht zu funktionieren, aber das sollte ja eigentlich keine Auswirkungen auf den Code für das Voralge-Tabellenblatt haben oder?
LG Manuela
Anzeige
AW: Eingabe in Zellen erzwingen
09.08.2017 14:38:52
Manuela
Hallo Piet,
und erstmal vielen Dank für deine Geduld mit mir. :)
Ich fürchte ich konnte keinen deiner Vorschläge umsetzen.
Ich habe jetzt noch einmal die akutelle Datei hochgeladen, vielleicht kannst du dir die mal anschauen?
https://www.herber.de/bbs/user/115358.xlsm
Hier sind sowohl für das Tabellenblatt Vorlage als auch für die Übersicht Codes hinterlegt.
Auch die Codes im Tabellenblatt Übersicht scheinen so zusammen nicht zu funktionieren, aber das sollte ja eigentlich keine Auswirkungen auf den Code für das Voralge-Tabellenblatt haben oder?
LG Manuela
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige