ich bin aktuell mit meiner Bachlorarbeit beschäftigt und soll über Excel ein Werkzeugpflichtenheft für mein Unternehmen erstellen.
Ich bin soweit ganz gut zurecht gekommen,
aber steh leider jetzt schon seit ein paar Tagen vor ein Problem,
wo ich mir selber nicht mir weiterhelfen kann.
Ich hoffe ich könnt mir dabei helfen.
1.Problem:
am Anfang habe ich eine Dropdown-Liste mit 14 verschiedenen Codes z.B.:
TSMA das ist eine Teileklassifizierung.
Je nach dem was ausgewählt ist verändert sich die Excel.
danach kommt die Materialauswahl:
das ist eine tabelle mit 6 spalten und 10Zeilen.
Dort wir bestimmt welches material, welches element bekommt -
durch ("X") die individual eingefügt warden.
jetzt will ich bei 4 von den 14 Codes eine bestimmte festlegung der Zellen machen.
Zum Beispiel: ich wähle über die Dropdown liste TSMA aus und automatisch wird in der Zelle ("XY") ein ("X") bzw. ein Wert wie 46HRC eingeblendet.
das könnte ich über eine normale Funktion machen, aber wenn ich TSMA nicht auswähle sondern ein anderen Code, dann sollen die Zellen noch befüllbar sein und es sollte keine Formel/Funktion hinterlegt sein.
2.Problem
wenn ich über die Dropdown liste ein Code auswähle,
dann sollen automatisch 4 oder 5 Kontrollkästchen aktiviert warden.
das soll bei allen 14 codes sein. z.B.:
bei TSMA sind die 3 Kontrollkästchen aktiviert und bei TLMD
sind nur 2 kästchen aktiviert.
hier der Link: https://www.herber.de/bbs/user/130135.xlsm
und hier der Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address "$B$3" Then Exit Sub
Select Case Target.Value
Case Is = "ACHR"
With Sheets("WKZ.-Pflichtenheft")
.Range("O90:AD98").ClearContents
.Cells(95, 19).Value = "X" ' Zelle S95 = 95. Zeile, 19. Spalte
.Cells(95, 23).Value = "48±²" ' Zelle S95 = 95. Zeile, 23. Spalte
.Cells(98, 19).Value = "X"
.Cells(98, 23).Value = "48±²"
.Cells(99, 19).Value = "X"
.Cells(99, 23).Value = "48±²"
.Cells(100, 19).Value = "X"
.Cells(100, 23).Value = "48±²"
.Shapes("Check Box 145").ControlFormat.Value = xlOn
.Shapes("Check Box 142").ControlFormat.Value = xlOn
' für jedes Kontrollkästchen wiederholen, das aktiviert werden soll
End With
Case Is = "AMTZ"
With Sheets("WKZ.-Pflichtenheft")
.Range("O90:AD98").ClearContents
.Cells(95, 19).Value = "X" ' Zelle S95 = 95. Zeile, 19. Spalte
.Cells(95, 23).Value = "48±²" ' Zelle S95 = 95. Zeile, 23. Spalte
.Cells(98, 19).Value = "X"
.Cells(98, 23).Value = "48±²"
.Cells(99, 19).Value = "X"
.Cells(99, 23).Value = "48±²"
.Cells(100, 19).Value = "X"
.Cells(100, 23).Value = "48±²"
.Shapes("Check Box 145").ControlFormat.Value = xlOn
.Shapes("Check Box 142").ControlFormat.Value = xlOn
' für jedes Kontrollkästchen wiederholen, das aktiviert werden soll
End With
Case Is = "APNT"
.Range("O90:AD98").ClearContents
.Cells(95, 19).Value = "X" ' Zelle S95 = 95. Zeile, 19. Spalte
.Cells(95, 23).Value = "48±²" ' Zelle S95 = 95. Zeile, 23. Spalte
.Cells(98, 19).Value = "X"
.Cells(98, 23).Value = "48±²"
.Cells(99, 19).Value = "X"
.Cells(99, 23).Value = "48±²"
.Cells(100, 19).Value = "X"
.Cells(100, 23).Value = "48±²"
.Shapes("Check Box 145").ControlFormat.Value = xlOn
.Shapes("Check Box 142").ControlFormat.Value = xlOn
' für jedes Kontrollkästchen wiederholen, das aktiviert werden soll
End With
Case Is = "AVIS"
.Range("O90:AD98").ClearContents
.Cells(95, 19).Value = "X" ' Zelle S95 = 95. Zeile, 19. Spalte
.Cells(95, 23).Value = "48±²" ' Zelle S95 = 95. Zeile, 23. Spalte
.Cells(98, 19).Value = "X"
.Cells(98, 23).Value = "48±²"
.Cells(99, 19).Value = "X"
.Cells(99, 23).Value = "48±²"
.Cells(100, 19).Value = "X"
.Cells(100, 23).Value = "48±²"
.Shapes("Check Box 145").ControlFormat.Value = xlOn
.Shapes("Check Box 142").ControlFormat.Value = xlOn
' für jedes Kontrollkästchen wiederholen, das aktiviert werden soll
End With
Case Is = "OTHN"
.Range("O90:AD98").ClearContents
.Cells(95, 19).Value = "X" ' Zelle S95 = 95. Zeile, 19. Spalte
.Cells(95, 23).Value = "48±²" ' Zelle S95 = 95. Zeile, 23. Spalte
.Cells(98, 19).Value = "X"
.Cells(98, 23).Value = "48±²"
.Cells(99, 19).Value = "X"
.Cells(99, 23).Value = "48±²"
.Cells(100, 19).Value = "X"
.Cells(100, 23).Value = "48±²"
.Shapes("Check Box 145").ControlFormat.Value = xlOn
.Shapes("Check Box 142").ControlFormat.Value = xlOn
' für jedes Kontrollkästchen wiederholen, das aktiviert werden soll
End With
Case Is = "OTHK"
.Range("O90:AD98").ClearContents
.Cells(95, 19).Value = "X" ' Zelle S95 = 95. Zeile, 19. Spalte
.Cells(95, 23).Value = "48±²" ' Zelle S95 = 95. Zeile, 23. Spalte
.Cells(98, 19).Value = "X"
.Cells(98, 23).Value = "48±²"
.Cells(99, 19).Value = "X"
.Cells(99, 23).Value = "48±²"
.Cells(100, 19).Value = "X"
.Cells(100, 23).Value = "48±²"
.Shapes("Check Box 145").ControlFormat.Value = xlOn
.Shapes("Check Box 142").ControlFormat.Value = xlOn
' für jedes Kontrollkästchen wiederholen, das aktiviert werden soll
End With
Case Is = "OLIG"
.Range("O90:AD98").ClearContents
.Cells(95, 19).Value = "X" ' Zelle S95 = 95. Zeile, 19. Spalte
.Cells(95, 23).Value = "48±²" ' Zelle S95 = 95. Zeile, 23. Spalte
.Cells(98, 19).Value = "X"
.Cells(98, 23).Value = "48±²"
.Cells(99, 19).Value = "X"
.Cells(99, 23).Value = "48±²"
.Cells(100, 19).Value = "X"
.Cells(100, 23).Value = "48±²"
.Shapes("Check Box 145").ControlFormat.Value = xlOn
.Shapes("Check Box 142").ControlFormat.Value = xlOn
' für jedes Kontrollkästchen wiederholen, das aktiviert werden soll
End With
' Case Else
' With Sheets("WKZ.-Pflichtenheft")
' .Range("O90:AD98").ClearContents
'.Shapes("Check Box 145").ControlFormat.Value = xlOff
'.Shapes("Check Box 142").ControlFormat.Value = xlOff
'... für jedes Kontrollkästchen!!!
' End With
End Select
End Sub
ich habe schon Hilfe von einem lieben Kollegen bekommen.
Hab darauf aufgebaut, aber leider become ich sofort eine Fehlermeldung -
egal ob ich ein Code auswähle den ich bestimmt habe oder nicht. und es passiert nichts :/
Vielen Dank im Voraus.