Problem mit zwei VBA Befehle
Hallo,
wer kann mir sagen wie ich diese zwei VBA Befehle (Ein/Ausblenden von Zeilen und Bilder Ein/Ausblenden) in Excel 2003 verbinden kann. Ich bekomme immer eine Fehlermeldung „Laufzeitfehler 1004“. Jeder einzelne Befehl für sich alleine funktioniert wunderbar. Meine VBA Kenntnisse sind nicht sehr gut.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$U$12" Then
ActiveSheet.Unprotect
Worksheets("Zeichnung").Rows("7:10").Hidden = Worksheets("Rechner").Range("U12").Value < 3
ActiveSheet.Protect
End If
End Sub
Private Sub Worksheet_Calculate()
If [AI2].Value = 1 Then
Shapes("Bild 1").Visible = True
Else
Shapes("Bild 1").Visible = False
End If
If [AI2].Value = 2 Then
Shapes("Bild 2").Visible = True
Else
Shapes("Bild 2").Visible = False
End If
End Sub
Gruß Jupp
Antwort schreiben
Antwort 1 von Hajo_Zi vom 20.05.2022, 16:20 Options
Hallo Jupp,
ich hätte den zweiten Code so geschrieben.
Private Sub Worksheet_Calculate()
Shapes("Bild 1").Visible = Range("AI2").Value = 1
Shapes("Bild 2").Visible = Range("AI2").Value = 2
End Sub
Gruß Hajo
Antwort 2 von juppjuppes vom 20.05.2022, 16:40 Options
Hallo,
das ist nicht mein Problem. Ich möchte das Zeilen ein und ausblenden
(Befehl1)
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$U$12" Then
ActiveSheet.Unprotect
Worksheets("Zeichnung").Rows("7:10").Hidden = Worksheets("Rechner").Range("U12").Value < 3
ActiveSheet.Protect
End If
End Sub
und Bilder ein und ausblenden
(Befehl2)
Private Sub Worksheet_Calculate()
If [AI2].Value = 1 Then
Shapes("Bild 1").Visible = True
Else
Shapes("Bild 1").Visible = False
End If
If [AI2].Value = 2 Then
Shapes("Bild 2").Visible = True
Else
Shapes("Bild 2").Visible = False
End If
End Sub
für ein Arbeitsblatt nutzen. Jeder einzelne für sich alleine funktioniert schon. Quasi, wie verbinde ich diese beiden Befehle (vielleicht ist Befehle das falsche Wort). Ohne diese Fehlermeldung zu bekommen.
Gruß Jupp
Antwort 3 von Hajo_Zi vom 20.05.2022, 16:43 Options
Hallo Jupp,
ich habe die Datei nicht. Ich hätte vermutet da kommt kene Fehlermeldung. Mir ist auch nicht klar was Du willst.
Gruß Hajo
Antwort 4 von juppjuppes vom 20.05.2022, 17:04 Options
Hallo Hajo,
ich glaube mein Problem ist ganz einfach zu lösen. Ich weiß aber nicht wie.
Ich versuch`s noch mal besser zu beschreiben.
Ich blende auf meinem Arbeitsblatt 1 Bilder ein und aus.
Private Sub Worksheet_Calculate()
If [AI2].Value = 1 Then
Shapes("Bild 1").Visible = True
Else
Shapes("Bild 1").Visible = False
End If
If [AI2].Value = 2 Then
Shapes("Bild 2").Visible = True
Else
Shapes("Bild 2").Visible = False
End If
End Sub
jetzt möchte ich zusätzlich noch von Arbeitsblatt 1 aus Zeilen auf Arbeitsblatt2 ein und ausblenden.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$U$12" Then
ActiveSheet.Unprotect
Worksheets("Zeichnung").Rows("7:10").Hidden = Worksheets("Rechner").Range("U12").Value < 3
ActiveSheet.Protect
End If
End Sub
wenn ich die zwei Sachen hintereinander hänge bekomme ich die Fehlermeldung. Wie gesagt ich habe nicht fiel Ahnung.
Private Sub Worksheet_Calculate()
If [AI2].Value = 1 Then
Shapes("Bild 1").Visible = True
Else
Shapes("Bild 1").Visible = False
End If
If [AI2].Value = 2 Then
Shapes("Bild 2").Visible = True
Else
Shapes("Bild 2").Visible = False
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$U$12" Then
ActiveSheet.Unprotect
Worksheets("Zeichnung").Rows("7:10").Hidden = Worksheets("Rechner").Range("U12").Value < 3
ActiveSheet.Protect
End If
End Sub
Ich hoffe es war jetzt verständlich.
Gruß Jupp
Antwort 5 von Hajo_Zi vom 20.05.2022, 17:17 Options
Halo Jupp,
Du hebst den Schutz au der aktiven Tabelle auf, das ausblenden passiertaber auf einer anderen. Leider sehe ich nicht welche.
With Worksheets("Zeichnung")
.unprotect
.Rows("7:10").Hidden = Range("U12").Value < 3
.Protect
End With
Gruß Hajo
Antwort 6 von woher2010 vom 20.05.2022, 17:23 Options
Hallo,
dein 1tes Makros hast du nun zum 4ten mal gepostet. Warum?
Welche Fehlermeldung bekommst du? Wenn du auf debuggen klickst:
Welche Zeile ist dann gelb?
mfg
Wolfgang H.
Antwort 7 von juppjuppes vom 20.05.2022, 17:33 Options
Hajo,
Du hast recht, es liegt an den Schreibschutz in Arbeitsblatt 2 „Zeichnung“ (ich war auf dem falsche Dampfer).
Wenn ich den rausnehme funktioniert´s. Würde aber gerne den Schreibschutz drin lassen. Hast Du eine Idee?
Jupp
Antwort 8 von Hajo_Zi vom 20.05.2022, 17:35 Options
Hallo Jupp,
warum habe ich einen Vrschlag gemacht, wenn der nicht getestet wird?
Gruß Hajo
Antwort 9 von juppjuppes vom 20.05.2022, 17:44 Options
Hajo, es funktioniert alles!
Vielen vielen Dank,
Du hast mir super weitergeholfen!
Gruß Jupp