Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1836to1840
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

Grafik mit Bedingung ausblenden

Grafik mit Bedingung ausblenden
09.07.2021 15:43:36
Andreas
Hi zusammen,
Freitag Mittag, aber vielleicht ist ja doch noch jemand hier unterwegs : )
Würde gerne eine Grafik in meinem Tabellenblatt ausblenden, wenn in der Zelle "AA5" ein X ist.
Einen Code habe ich auch schon und er funktioniert auch:

Private Sub Worksheet_Calculate()
Shapes("Schiff").Visible = UCase(Range("AA5").Value)  "X"
End Sub
Mein Problem ist nur, dass ich in diesem Tabellenblatt bereits eine VBA für was anderes stehen habe.
Gehe also davon aus, ich muss die neue VBA in ein Modul packen, weiß dann aber nicht wie ich in dem Code oben auf das richtige Tabellenblatt verweise.
Mein Tabellenblatt heißt "Rg. Anschr."
Vielen Dank vorab für eure Hilfe
Gruß Andreas

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik mit Bedingung ausblenden
09.07.2021 16:16:24
Hajo_Zi
Hallo Andreas,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
GrußformelHomepage
AW: Grafik mit Bedingung ausblenden
09.07.2021 16:24:32
Andreas
Hallo Hajo,
Danke für deine Rückmeldung.
Leider ist mein Problem ja aber folgendes:
Mein Problem ist nur, dass ich in diesem Tabellenblatt bereits eine VBA für was anderes stehen habe.
Gehe also davon aus, ich muss die neue VBA in ein Modul packen, weiß dann aber nicht wie ich in dem Code oben auf das richtige Tabellenblatt verweise.

Also kann ich diesen Code nicht in das Tabellenblatt welches es Betrifft kopieren, sondern der muss in ein Modul.
Daher muss ich wissen, wie ich den Code verändern kann, damit er weiß zu welchem Tabellenblatt er gehört.
Oder Alternativ, muss ich beide Codes im selben Blatt zum laufen kriegen.
Hier ist der bereits bestehende Code:
Sub DruckeRgAnschrift()
Dim strDruckerAktiv$, i%, max%, vz%, bz%, sStdDrucker$
sStdDrucker = Application.ActivePrinter
strDruckerAktiv = Application.ActivePrinter
max = Sheets("DQ").Range("AH2").Value
If max If max > 15 Then max = 15
For i = 1 To max
vz = i * 53 - 52: bz = i * 53
Worksheets("Rg. Anschr.").Range("A" & vz & ":R" & bz).PrintOut ActivePrinter:="\\SRVADS01\Farbe"
Next i
Application.ActivePrinter = sStdDrucker
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Und dieser muss dann eben noch dazu:

Private Sub Worksheet_Calculate()
Shapes("Schiff").Visible = UCase(Range("AA5").Value)  "X"
End Sub
Vielen Dank vorab
Gruß Andreas
Anzeige
AW: Grafik mit Bedingung ausblenden
09.07.2021 16:42:58
Hajo_Zi
Hallo Andreas,
Gut Du hast mehr Ahnung von VBA als ich.
Viel Erfolg noch ich bin dann raus.
Gruß Hajo
AW: Grafik mit Bedingung ausblenden
12.07.2021 09:27:30
Andreas
Guten Morgen zusammen,
kann jemand helfen?
Würde gerne eine Grafik in meinem Tabellenblatt ausblenden, wenn in der Zelle "AA5" ein X ist.
Einen Code habe ich auch schon und er funktioniert auch:

Private Sub Worksheet_Calculate()
Shapes("Schiff").Visible = UCase(Range("AA5").Value)  "X"
End Sub
Mein Problem ist nur, dass ich in diesem Tabellenblatt bereits eine VBA für was anderes stehen habe.
Gehe also davon aus, ich muss die neue VBA in ein Modul packen, weiß dann aber nicht wie ich in dem Code oben auf das richtige Tabellenblatt verweise.
Mein Tabellenblatt heißt "Rg. Anschr."
Vielen Dank vorab für eure Hilfe
Gruß Andreas
Anzeige
AW: Grafik mit Bedingung ausblenden
12.07.2021 10:30:13
Pierre
Hallo Andreas,
hast du es überhaupt schon mal versucht?
Grundsätzlich besteht da zunächst mal kein Hinderungsgrund, mehrere Subs innerhalb des Codefensters eines Tabellenblattes hintereinander zu platzieren.
Was natürlich nicht geht, z. B.:

Private Sub Worksheet_Change()
End Sub
Private Sub Worksheet_Change()
End Sub

AW: Grafik mit Bedingung ausblenden
12.07.2021 11:38:48
Andreas
Hallo Pierre,
klar hab ich es schon versucht.
Das Problem ist nur, dass wenn ich beide VBA`s im selben Blatt habe, wird die Grafik nicht mehr durch ein "X" in der Zelle "AA5" ausgeblendet.
Nur dann, wenn ich das Makro manuell starte, was ja aber nicht Sinn der Sache sein soll.
Deshalb denke ich, wäre es auch am besten, die VBA für das ausblenden der Grafik wäre in einem Modul.
Und hier liegt eben das Problem, wie verändere ich den Code, dass er weiß, zu welchem Tabellenblatt er gehört, wenn der Code in einem Modul steht:

Private Sub Worksheet_Calculate()
Shapes("Schiff").Visible = UCase(Range("AA5").Value)  "X"
End Sub
Vielen Dank vorab
Gruß Andreas
Anzeige
AW: Grafik mit Bedingung ausblenden
12.07.2021 12:24:02
Pierre
Hallo Andreas,
ginge z. B. so (inkl. mal ein anderer Ansatz, um das Ein- und Ausblenden zu steuern):

Private Sub Worksheet_Change(ByVal Target As Range)
With Shapes("Schiff")
If ThisWorkbook.Worksheets("Tabelle1").Range("A5").Value = "X" Then
Worksheets("Tabelle1").Shapes("Schiff").Visible = False
ElseIf ThisWorkbook.Worksheets("Tabelle1").Range("A5").Value  "X" Then
Worksheets("Tabelle1").Shapes("Schiff").Visible = True
End If
End With
End Sub
(Tabelle1 mit deinem Blattnamen austauschen)
Warum eigentlich Calculate?
Steckt in Wahrheit hinter deinem "X" eine Formel?
Und wenn du noch weitere Subs mit Worksheet_Change laufen hast, kannst du diese eigentlich hintereinander innerhalb der Sub einfügen, auch das sollte grundsätzlich keine Probleme verursachen.
Die Reihenfolge ist natürlich zu beachten!
Gruß Pierre
PS: Wenn das nicht hilft, dann vielleicht eine Beispielmappe?
Anzeige
AW: Grafik mit Bedingung ausblenden
12.07.2021 14:20:27
Andreas
Hi Pierre,
erst einmal Danke für deine Hilfe.

Warum eigentlich Calculate?
Steckt in Wahrheit hinter deinem "X" eine Formel?
Richtig, der Wert wird mit eine Formel ermittelt. Deshalb bestimmt mit Calculate.
Die VBA ist aus meiner Sammlung, woanders hat das wunderbar funktioniert :D
Deine Lösung habe ich leider nicht hinbekommen, irgendwas hab ich wohl falsch gemacht?
Hier mal meine Datei: https://www.herber.de/bbs/user/147070.xlsm
Dein Vorschlag ist eingebaut, die Bilder sind umbenannt.
Vielleicht weißt du ja woran es liegt, dass es nicht funktioniert?
Vielen Dank vorab
Gruß Andreas
Anzeige
AW: Grafik mit Bedingung ausblenden
12.07.2021 15:17:23
Andreas
Hi Pierre,
habe selbst die Lösung gefunden.
Habe ein weitere Zelle zur Hilfe genommen, und diese mit dem Namensmanager umbenannt.
In diese Zelle (AC1) habe ich dann meine Formel eingefügt z.B.: =WENN(ODER(E15="LKW";E15="Selbstabholung Landverkehr");"X";"")
In der Zelle (Z1) steht dann das hier: =WENN(ZelleAC1="X";"";"X")
Und die VBA sieht dann so aus:

Private Sub Worksheet_Calculate()
Shapes("LKW").Visible = UCase(Range("Z3").Value)  "X"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Die Excelhacks unter euch werden sichre die Hände über dem Kopf zusammen schlagen, ich weis auch ehrlich gesagt nicht genau wieso es funktioniert,
aber das tut es :D
Vielen Dank nochmal an dich Pierre für deine Hilfestellung und eine schöne Woche.
Gruß Andreas
Anzeige
AW: Grafik mit Bedingung ausblenden
12.07.2021 16:07:09
Pierre
Hallo Andreas,
gut, das war jetzt mein Ding, dass ich dir das noch weiter gebastelt habe.
Aber immerhin hast du nun eine Alternative von mir ;-)
Außerdem wäre es noch sinnloser gewesen, das nun einfach in die Tonne zu treten, ohne es zu teilen.
Bitte für die Hilfe und dir auch eine schöne Woche!
(Die ich haben werde :) )
Gruß Pierre
AW: Grafik mit Bedingung ausblenden
12.07.2021 15:55:34
Pierre
Hi Andreas,
so wird es mir klarer.
Übrigens geht es doch, den Code als Worksheet_Calculate unter deinem bestehenden einzufügen ;-)
Ich nehme an, dass ihr nicht noch zusätzlich per Drohne, Flaschenpost oder Brieftaube verschickt?
Es bleibt bei den 3 Versendungsarten, oder?
Dann wäre es das Einfachste, wenn du den Code, den ich dir genannt habe, 3x unter Tabelle1 einfügst (angepasst an deine Grafiken) und 3x unter Tabelle2, da aber nicht als Calculate sondern Change, weil dort nichts gerechnet wird sondern du ja nur ein X einträgst.
Folgende Dinge:
- Warum das Schiff nicht ausgeblendet wird liegt daran, dass du noch eine zweite Grafik (Grafik 1) darüber gelegt hattest, diese habe ich dir mal nach oben gezogen, damit du die siehst. Das Gleiche bei dem LKW!
- Entweder deine Beschreibung war falsch rum, oder ich habe es falsch verstanden, aber du willst doch, wenn bei Schiff ein X ist, dass dann nur das Schiff zu sehen ist, LKW und Flugzeug sollen dann ausgeblendet sein, oder nicht?
Deswegen muss es genau umgekehrt sein.
- Ich habe auf deinem Rg.-Blatt die beiden zusammenhängenden Grafiken gruppiert, damit auch auf beiden Druckseiten die Ein- und Ausblendung erfolgt.
- Du musst auf deinem Eingabe-Blatt zwingend ein großes X eintragen, sonst wird dort nichts verändert!
Hier die Datei zurück mit den beiden eingefügten Codes: https://www.herber.de/bbs/user/147072.xlsm
Das würde natürlich eleganter gehen, aber ich denke, das reicht für diesen Zweck, da du ja scheinbar nur 2x3 Grafiken ein- und ausblenden willst.
Hoffe, das ist so in Ordnung?
Gruß Pierre
Anzeige
AW: Datei war falsch, hier die richtige:
12.07.2021 16:10:41
Andreas
Hey Pierre,
Danke für deine Lösung, eleganter? Du hast meine fertige Datei nicht gesehen HAHA.
Da ist deine Lösung ein Meisterwerk : )
Daher nochmals Danke für deine Mühe, werde dein Lösungsvorschlag morgen mal in meine Originaldatei übernehmen.
Gruß und schönen Feierabend.
Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige