3.1k Aufrufe
Gefragt in Tabellenkalkulation von
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

9 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
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
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
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
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
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
0 Punkte
Beantwortet von
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.
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Jupp,

warum habe ich einen Vrschlag gemacht, wenn der nicht getestet wird?

Gruß Hajo
0 Punkte
Beantwortet von
Hajo, es funktioniert alles!

Vielen  vielen Dank,
Du hast mir super weitergeholfen!

Gruß Jupp
...