Microsoft Excel

Herbers Excel/VBA-Archiv

Werteingabe den Dropdown zuordnen | Herbers Excel-Forum


Betrifft: Werteingabe den Dropdown zuordnen von: Murino
Geschrieben am: 23.01.2010 11:59:06

Hiiiilfe!
Schönen guten Tag an alle und besonders den Hary, falls er online ist.
Der Hary hat mir sehr geholfen, Er hatte mir eine Mustertabelle fertig gemacht was auch sehr gut funktioniert. Ich war der Meinung dass ich den Rest alleine hinbekomme würde, habe den VBA Code der Musterdatei in meinen Editor reinkopiert und entsprechend meiner Mappe angepasst, funzt aber nicht. Ich versuche seit gestern den Fehler zu finden und muss leider aufgeben. Eine Große bitte an die Profis
„oder vielleicht auch den Hary!“, es währe sehr nett wenn mir jemand helfen könnte.
Das PROBLEM
Habe meine Musterdatei uploadet, in der Excel Mappe sind Eingabemasken, jede Eingabemaske hat einen Dropdown indem sich der Kellner mit seinen Namen anmelden kann,
2 Zellen darunter muss er die Gäste-Anzahl eingeben, dieser Wert wir automatisch auf der
Linken Spalte nacheinander unter den entsprechenden Mitarbeiter übernommen
ÜBRIGENS: Ich habe nur versucht die erste Eingabemaske anzupassen!!

Danke im Vorraus
Liebe Grüße an alle
Aki

https://www.herber.de/bbs/user/67434.xls

  

Betrifft: AW: Werteingabe den Dropdown zuordnen von: hary
Geschrieben am: 23.01.2010 12:26:46

Hallo Aki
Bin gerade beim Futter kochen. Hier hast Du erstmal fuer die erste Maske.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Address = "$H$52" And IsNumeric(Target.Value) Then
   For i = 31 To 35
    If Cells(45, i).Value = Cells(49, 9) Then
      Cells(Cells(Rows.Count, i).End(xlUp).Row + 1, i) = Cells(52, 8)
    End If
   Next
End If
End Sub

schau es nachher nochmal an.


  

Betrifft: AW: Werteingabe den Dropdown zuordnen von: Murino
Geschrieben am: 23.01.2010 14:42:17

Hallo Hary,
danke für die schnelle Antwort.
Unglaublich wie schnell du das gelöst hast, vielen Dank.
Jetzt kommt die allerletzte bitte wie bekomme ich die „VBA Worksheets“ für die anderen
Eingabemasken. Ich habe es probiert und bekomme den Debug „Name wird bereits verwendet“, ändere ich den Namen, bekomme ich die Meldung „Fehler beim kompilieren“.
Ich stecke wieder fest.

Vielen Dank
Liebe Grüße
Aki


  

Betrifft: AW: Werteingabe den Dropdown zuordnen von: hary
Geschrieben am: 23.01.2010 16:22:14

hallo Aki
Bin noch am ueberlegen, den werden ja wahrscheinlich 52 Masken werden oder?
Wird aber erst Montag sein, das ich mich damit beschaeftige. Deshalb Frage offen.
gruss hary


  

Betrifft: AW: Werteingabe den Dropdown zuordnen von: Murino
Geschrieben am: 23.01.2010 16:48:38

Hallo Hary,
insgesamt sind es 60 Masken, durch den letzten VBA Eintrag habe ich den Zusammenhang verstanden, allerdings bekomme ich nicht raus wie ich mehr als nur einen Worksheet rein bekomme, kann man den Makro einen anderen Namen geben?
Vielen Danke
Lg Murino

BSP

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Address = "$H$52" And IsNumeric(Target.Value) Then
   For i = 31 To 37
    If Cells(45, i).Value = Cells(49, 9) Then
      Cells(Cells(Rows.Count, i).End(xlUp).Row + 1, i) = Cells(52, 8)
End If
   Next
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Address = "$V$52" And IsNumeric(Target.Value) Then
   For i = 31 To 37
    If Cells(45, i).Value = Cells(49, 23) Then
      Cells(Cells(Rows.Count, i).End(xlUp).Row + 1, i) = Cells(52, 22)
End If
   Next
End If
End Sub



  

Betrifft: AW: so aehnlich.... von: hary
Geschrieben am: 23.01.2010 18:03:56

Hallo
...wuerde es ausehen, naemlich 60x, fuer jede Maske ein Codeteil. Worksheet_Change ist ein Ereigniss das den Code startet. Gilt also fuer die ganze Tabelle. Nur wird der Code so Ellenlang. Das wuerde ich gern vermeiden.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Address = "$H$52" And IsNumeric(Target.Value) Then
   For i = 31 To 37
    If Cells(45, i).Value = Cells(49, 9) Then
      Cells(Cells(Rows.Count, i).End(xlUp).Row + 1, i) = Cells(52, 8)
End If
   Next
End If
If Target.Address = "$V$52" And IsNumeric(Target.Value) Then
   For i = 31 To 37
    If Cells(45, i).Value = Cells(49, 23) Then
      Cells(Cells(Rows.Count, i).End(xlUp).Row + 1, i) = Cells(52, 22)
End If
   Next
End If
End Sub
Gruss hary



  

Betrifft: AW: Testmappe von: hary
Geschrieben am: 23.01.2010 18:34:08

hallo Aki
gerade nach geschafft. Die anderen Masken muessen aber genau so untereinander stehen.
https://www.herber.de/bbs/user/67439.xls
gruss hary
fuer Mitleser:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Column = 8 Or Target.Column = 22 And IsNumeric(Target.Value) Then
   For i = 31 To 35
    If Cells(45, i).Value = Target.Offset(-3, 1) Then
      Cells(Cells(Rows.Count, i).End(xlUp).Row + 1, i) = Target.Value
    End If
   Next
End If
End Sub



  

Betrifft: AW: Testmappe von: Murino
Geschrieben am: 25.01.2010 09:19:42

Vielen Dank Hary,
hat wunderbar geklapt, bin begeistert.

Wünsche dir alles Gute
Gruß
Aki


  

Betrifft: Bitte, danke fuer die Rueckmeldung owT. von: hary
Geschrieben am: 25.01.2010 09:30:26

.


Beiträge aus den Excel-Beispielen zum Thema "Werteingabe den Dropdown zuordnen"