Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - NOT-Operator 2 Prozeduren

Forumthread: VBA - NOT-Operator 2 Prozeduren

VBA - NOT-Operator 2 Prozeduren
11.05.2024 22:49:27
Thomas
Hallo zusammen, ich habe mich nun in diesem Forum angemeldet, weil ich mit meinem Latein leider am Ende bin. Bin was VBA angeht noch sehr unerfahren und benötige mal eure ehrenhafte Hilfe :)

Folgendes Problem: ich arbeite aktuell mit dem NOT-Operator, möchte aber 2 Prozeduren (hoffe das Wording ist richtig) ausführen. Hier stoße ich aber an meine Grenzen, wie ich das anstellen kann.

Aktuell sieht es so aus:

Sub Diagramm_Entwicklung()

ActiveSheet.Shapes("Diagramm_Gesamt_Entwicklung").Visible = Not ActiveSheet.Shapes("Diagramm_Gesamt_Entwicklung").Visible


wie kann ich vor bzw. nach dem NOT-Operator noch hinzufügen, dass noch die Zeilen 9-35 ausgeblendet bzw. eingeblendet werden?

Vielen Dank für eure Hilfe
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - NOT-Operator 2 Prozeduren
11.05.2024 22:57:00
Piet
Hallo

setze dahinter bitte mal diesen Befehl. Ich hoffe es klappt damit.
Rows("9:35").EntireRow.Hidden = Not Rows("9:35").EntireRow.Hidden

mfg Piet
AW: VBA - NOT-Operator 2 Prozeduren
12.05.2024 00:55:48
Thomas
Danke Piet.
Da hätte ich auch selber drauf kommen können, einfach noch eine Zeile einzufügen. Stattdessen habe ich viel zu kompliziert gedacht und dächte es müsste "irgendwie" in die selbe Zeile geschrieben werden.

Musste vor deinen Code noch: ActiveSheet. einfügen, dann hats geklappt. Herzlichen Dank. Aktuell sieht es so aus:

'Blendet das Diagramm "Entwicklung" ein/aus

Sub Diagramm_Entwicklung()
ActiveSheet.Shapes("Diagramm_Gesamt_Entwicklung").Visible = Not ActiveSheet.Shapes("Diagramm_Gesamt_Entwicklung").Visible
ActiveSheet.Rows("9:35").EntireRow.Hidden = Not ActiveSheet.Rows("9:35").EntireRow.Hidden
End Sub


Jetzt würde ich das Ganze gerne noch etwas weiter eskalieren. Wie geh ich das am besten an, wenn die Reihen eingeblendet sind, soll Excel in Zelle A9 springt, wenn ausgeblendet wird, ans Tabellenende. Ich habe an etwas in der Richtung gedacht:

Application.Goto ActiveSheet.Range("A9") = Not Selection.End(xlDown).Select


Allerdings bekomme ich hier den Fehler 400.
Anzeige
AW: VBA - NOT-Operator 2 Prozeduren
12.05.2024 11:41:45
Yal
Hallo Thomas,

"... . Select" bedeutet, eine Aktion durchzuführen. Normalerweise geben solche Aktionen keine Werte zurück, die übergeben werden können, somit auch kein Vergleich möglich. Das Ergebnis dieses Vergleichs wäre auch ein Boolean (true or false), was nicht als Argument für einen Goto verwendet werden kann.


Ganz andere Sache: vor dem Punkt steht immer ein Objekt. Man kann Code leichter machen, in dem man schreibt "mit diesem Objekt mache.."

'Blendet das Diagramm "Entwicklung" ein/aus

Sub Diagramm_Entwicklung()

With ActiveSheet.Shapes("Diagramm_Gesamt_Entwicklung")
.Visible = Not .Visible
End With
With ActiveSheet.Rows("9:35").EntireRow
.Hidden = Not .Hidden
End With
End Sub


VG
Yal
Anzeige
AW: VBA - NOT-Operator 2 Prozeduren
12.05.2024 23:01:32
Piet
Hallo

probier es bitte mal mit diesem Code. Bei End(xlDown) darf aber KEINE Leerzelle dazwischen sein!
Sonst springst du nur die leere Zelle an. In dem Falle Cells(Rows.Count, 1).End(xlUp).Select nehmen.

mfg Piet

If ActiveSheet.Rows("9:35").EntireRow.Hidden = False Then

Range("A9").Select
Else
Range("A9").End(xlDown).Select
End If
Anzeige
AW: VBA - NOT-Operator 2 Prozeduren
12.05.2024 14:56:47
Thomas
Yal, vielen Dank. Ich glaube das hat mir geholfen, VBA etwas mehr zu verstehen.

Allerdings überlege ich wie man das nun bauen könnte, das im Falle, dass das Diagramm eingeblendet wird, Excel in der Tabelle nach oben springt, wenn das Diagramm ausgeblendet wird, Excel nach unten in der Tabelle springt?!

Ich hab leider nur ein fragmentiertes VBA-Wissen, deshalb rate ich hier mal ins Dunkle.
Müsste man dann mit "If" arbeiten? Ich nehme mal an, der Code würde mit Selection .End(xlUp) bzw Selection.End(xlDown) arbeiten?! Nur wie müsste das genau aufgebaut sein?

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige