Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eingabemeldung als VBA

Forumthread: Eingabemeldung als VBA

Eingabemeldung als VBA
09.01.2008 21:26:00
Heiko
Hallo Leute
ich hab da ein Problem. Ich habe eine Liste wo ich den Urlaub meiner Kolegen eintarge. Da es aber viele Namen sind gerate ich ab und zu mal in eine andere Spalte. Jetzt habe ich es mit der Eingabemeldung in der Gültigkeitsprüfung gemacht und den Namen eingetragen. Kann man das nicht per VBA machen das wenn sich der Name ändert das sich auch Eingabemeldung ändert. Bitte um hilfe.
Gruß Heiko
https://www.herber.de/bbs/user/48918.xls

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Eingabemeldung als VBA
09.01.2008 22:44:53
Daniel
HI
ich würde folgende Lösung vorschlagen:
1. Fenster fixieren, so daß die Spalte A immer sichtbar ist
2. alle Zellen markieren und folgene Formel bei der bedingten Formatierung eintragen: =Zeile()=$A$1, dazu unter Format-Muster ne schöne Farbe aussuchen.
3. folgendes Makro ins Modul der Tabelle schreiben:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(1, 1) = Target.Row
End Sub


an ist die Zeile, die du gerade bearbeitest immer farblich markiert.
Gruß, Daniel

Anzeige
AW: Eingabemeldung als VBA
09.01.2008 22:50:00
Heiko
Das mit der Bedingten Formatierung geht nicht mehr. Ist alles ausgereitzt. Es sollte aber schon der Name angezeigt werden. Aber danke für deine hilfe.
Gruß Heiko

AW: Eingabemeldung als VBA
09.01.2008 23:32:00
Daniel
Hi
dann ist es aber auch kein Problem:
1. lösche die Gültigkeitsmeldungen
2. füge in das Tabellenblatt eine Steuerelement-Textbox in passender Grösse ein.
3. schreibe dieses Makro ins Modul der Tabelle

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With TextBox1
If Target.Rows.Count = 1 And Target.Row > 1 And Cells(Target.Row, 1)  "" Then
.Visible = True
.Top = Target.Offset(1, 0).Top
.Left = Target.Left
.Text = Cells(Target.Row, 1)
Else
.Visible = False
End If
End With
End Sub


Gruß, Daniel

Anzeige
AW: Eingabemeldung als VBA
10.01.2008 21:15:29
Heiko
Hi Daniel
danke für deine hilfe das ist es genau so sollte es sein. Hätte da aber noch eine frage. Kann man noch in den Code bereiche eingeben wo die Textbox erscheinen soll. Zb. B2 - AF5, B7 - AF15, B18 - AF25. Wenn das noch möglich wäre dann wäre es perfekt.
Gruß Heiko

AW: Eingabemeldung als VBA
10.01.2008 22:31:24
Daniel
Hi
sowas kann man entweder prüfen in dem man die Zeile (Target.row) und die Spalte (Target.Column) mit bestimmten Sollwerten vergleicht, oder über die INTERSECT-Funktion,
für deinen Fall dann in etwa:

if Intersect(target, Range(B2:AF5, B7:AF15, B20:AF30) ) is nothing then
.visible = false
else
.Visible = True
.Top = Target.Offset(1, 0).Top
.Left = Target.Left
.Text = Cells(Target.Row, 1)
end with


Gruß, Daniel
PS ist jetzt kein vollständiges Makro, sondern nur der entsprechende Ausschnitt.

Anzeige
AW: Eingabemeldung als VBA
10.01.2008 22:39:19
Heiko
Hallo Daniel
wenn ich den teil ersetzte bleibt die schrift rot "if Intersect(target, Range(B2:AF5, B7:AF15, B20:AF30) ) is nothing then" und ich bekomme eine fehlermeldung. Hilfe
Gruß Heiko

AW: Eingabemeldung als VBA
11.01.2008 16:22:00
Renee
Hi Heiko,
Kein Wunder..., denn das müsste heissen:

if Intersect(target, Range("B2:AF5,B7:AF15,B20:AF30"))


GreetZ Renée

Anzeige
AW: Eingabemeldung als VBA
11.01.2008 17:38:00
Heiko
Danke für eure hilfe. Klappt super.
Gruß Heiko
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige