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

Pflichtfeld in Excel

Pflichtfeld in Excel
06.11.2012 14:54:44
Alex
Hallo Zusammen,
ich würde gerne ein Pflichtfeld gestalten welches mit "Yes" oder "No" beantwortet werden muss sobald in einer anderen Zeile über einen Dropdown / per Verweis ein bestimmte Kategorie ausgewählt wurde.
Bsp:
Wenn Zelle P = "XYP" dann muss in Zelle Q "Yes" oder "No" ausgewählt werden.
Ich habe jetzt in mehrern Foren gelesen, dass dies nur über VBA möglich ist. Da ich selbst aber keinen Schimmer von VBA hab, hoffe ich auch eure Unterstützung :).
Im Voraus vielen Dank!
Beste Grüße,
Alex

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pflichtfeld in Excel
06.11.2012 14:58:21
Alex
PS: ich mein natürlich Zelle nicht Zeile. Danke!

AW: Pflichtfeld in Excel
06.11.2012 15:08:01
Klaus
Hi Alex,
1) Wenn Zelle P = "XYP" dann muss in Zelle Q "Yes" oder "No" ausgewählt werden.
2) PS: ich mein natürlich Zelle nicht Zeile. Danke!
Vielleicht meinst du Spalten?
Grüße,
Klaus M.vdT.

AW: Pflichtfeld in Excel
06.11.2012 15:24:18
Alex
Hallo Klaus,
ja genau, bin anscheinend schong ganz verwirrt.
Also nochmal:
In Spalte P wird per Verweis / DropDown ein Wert angezeigt z.B: "XYZ"
Wenn dieser Wert erscheint /ausgewählt wird, muss obligatorisch in Spalte Q der Wert "Yes" oder "No" eingetragen werden.
Im Voraus vielen Dank!
Beste Grüße,
Alex

Anzeige
Auf die schnelle und unsauber
06.11.2012 15:27:55
Klaus
Hi Alex,
folgender Code funktioniert, solange nur eine Zelle im Bereich ausgewählt ist. Ich komm grad nicht drauf, wie man das vernünftig abfängt ... kann bestimmt jemand anders fix korrigieren.
Da deine Eingangsfrage so unklar war, habe ich ein paar Annahmen getroffen.
ALT+F11 in den VBA-Editor, links im Explorer auf dein Tabellenblatt clicken (Tabelle1?), den Code in das große weiße Fenster kopieren, Bereich und Suchwort anpassen.
Ändert sich per Eingabe oder DropDown der Inhalt einer Zelle im überwachten Bereich, springt der Code an. Bei Änderungen per Formel passiert garnix, um das zu realisieren müsste man deine Datei und Formeln kennen.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rBereich As Range
Dim sCheckIt As String
'HIER den Bereich anpassen, zB auf P2:P1000 wenn du 999 Einträge hast!
Set rBereich = Range("P2:P20")
'HIER das Suchwort setzten!
sCheckIt = "XYP"
Set rBereich = Intersect(rBereich, Range(Target.Address))
If Not rBereich Is Nothing Then
On Error GoTo EndMe 'schmiert ab, wenn mehr als eine Zelle ausgewählt wurde
Debug.Print rBereich.Cells.Count
If rBereich.Value = sCheckIt Then
Application.EnableEvents = False
rBereich.Offset(0, 1).Select
If MsgBox("YES or NO?", vbYesNo) = 6 Then
rBereich.Offset(0, 1).Value = "YES"
Else '=7
rBereich.Offset(0, 1).Value = "NO"
End If
Application.EnableEvents = True
End If
End If
EndMe:
End Sub

Anzeige
AW: Auf die schnelle und unsauber
06.11.2012 16:25:34
Alex
Hallo Klaus,
vielen Dank für den Code.
Ich hab es jetzt so gemacht wie angewiesen, nur passiert nichts, da der gesuchte Text über eine Formel [=WENN(ISTNV(VERGLEICH($N1;Tabelle1!$B:$B;0));"";VERWEIS($N1;Tabelle1!$B:$B;Tabelle1!$D:$D)] kommt. Kann man die Formel über den Code mit einbauen?
Desweiteren: Wie ist das mit der Message Box und der Abfrage, wird diese dann in Zelle Q angezeigt? Also ob "Yes" oder "No"?
Irgendwie ist nichts passiert nachdem ich das Makro aktiviert, abgespeichert und neu geöffnet hab.
Im Voraus vielen Dank!
Beste Grüße,
Alex
PS: Soll ich eine Beispieldatei erstellen, um es besser darstellen zu können?

Anzeige
AW: Auf die schnelle und unsauber
06.11.2012 16:58:33
Alex
Hallo Zusammen,
hier auch nochmal ein File, dass meine Problematik (hoffentlich) ein bisschen näher bringt.
https://www.herber.de/bbs/user/82514.xlsx
Vielen Dank & beste Grüße aus Paris,
Alex

AW: probier mal
06.11.2012 17:40:17
hary
Hallo Alex
Teste mal.
https://www.herber.de/bbs/user/82515.xlsm
gruss hary
Code fuer Mitleser.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Variant
If Target.Column = 1 And Target.Count = 1 Then
a = Application.Match(Target, Worksheets("Tabelle2").Columns(1))
If IsNumeric(a) Then Cells(Target.Row, 2) = Worksheets("Tabelle2").Cells(a, 2)
If Cells(Target.Row, 2) = "Sparte3" Then
Cells(Target.Row, 3) = IIf(MsgBox("Lizenz vorhanden?", vbYesNo) = vbYes, "Yes", "No")
End If
End If
End Sub

Anzeige
AW: probier mal
06.11.2012 18:37:34
Alex
Hallo hary,
vielen Dank für deine Antwort. Ich hab alles soweit angepasst, nur funktioniert es nciht ganz. Für was steht den "Cells (a, 2) ? Daran hapert es bei mir glaub ich noch...
Im Voraus vielen Dank!
BEste Grüße,
Alex

AW: probier mal
06.11.2012 19:53:52
Alex
Hallo hary,
nochmal ich: Hab den VBA Code jetzt dem ensprechend angepasst, nur leider macht es immer noch nichts:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Variant
If Target.Column = 14 And Target.Count = 14 Then
a = Application.Match(Target, workssheets("Product").Columns(2))
If IsNumeric(a) Then Cells(Target.Row, 16) = Worksheets("Product").Cells(a, 2) 'das Produkt ist  _
in Spalte 2 und die Sparte in Spalte 4
If Cells(Target.Row, 16) = "11 - Sparte XY" Then 'Produktnamen und Sparte sind nicht numerisch.. _
.macht das was?
Cells(Target.Row, 17) = IIf(MsgBox("Licence ordered?", vbYesNo) = vbYes, "Yes", "No")
End If
End If
End Sub
Mach ich einen Denkfehler, oder hab ich was falsch gemacht, oder woran könnte das liegen?
Ich geh heim, schönen Abend!
Beste Grüße,
Alex

Anzeige
AW: probier mal
07.11.2012 06:51:03
hary
Hallo Alex
ungetestet.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Variant
If Target.Column = 14 And Target.Count = 1 Then
a = Application.Match(Target, Worksheets("Product").Columns(2)) 'das Produkt ist in Spalte 2
If IsNumeric(a) Then Cells(Target.Row, 16) = Worksheets("Product").Cells(a, 4) 'die Sparte in  _
Spalte 4
If Cells(Target.Row, 16) = "11 - Sparte XY" Then 'Produktnamen und Sparte sind nicht numerisch.. _
_
.macht das was?
Cells(Target.Row, 17) = IIf(MsgBox("Licence ordered?", vbYesNo) = vbYes, "Yes", "No")
End If
End If
End Sub

Mit Target.Count prueft man die Anzahl der ausgewaehlten Zellen. Du hattest aber 14 ausgewaehlte verlangt. ;-)
Cells(a,2) = Cells(Zeilennummer,Spaltennummer) man kann auch schreiben Cells(a,"D")
gruss hary
Wenn's nicht klappt, Bsp.-Mappe mit original Spaltenbenutzung

Anzeige
AW: probier mal
07.11.2012 09:39:01
Alex
ES FUNKTIONIERT :)!!!!
Vielen lieben Dank an alle die geholfen haben!
Beste Grüße,
Alex

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige