Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
848to852
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
848to852
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textkommentare bei Bedingung einblenden

Textkommentare bei Bedingung einblenden
05.03.2007 16:03:54
Berni
Liebe Excellenzen!
Da das Orginalfile aufgrund der Verknüpfungen und Rechenbedingungen ziemlich groß ist, hoffe ich, Euch mein Problem möglichst verständlich so erklären zu können.
Also: Ich habe in mehreren Tabellenblättern eine Fülle von Daten, die ich mit wenn-Bedingungen dann in einem Tabellenblatt "Übersicht" zusammenfasse.
Über einen Optionsbutton habe ich 1.Quartal, 2.Quartal,3.Quartal und 4.Quartal zur Auswahl, in den Zellen c1-c4 habe ich dazu passend jeweils "wahr" oder "falsch".
Die Aufbereitung des Datenmaterials funktioniert soweit bestens. Nun habe ich aber auch noch ein Tabellenblatt "Abweichungsanalyse", in welchem ich über ein Textfeld die Abweichungsanalysen der jeweiligen Quartale eingepflegt habe. Diese dazupassenden Textfelder sollen in dem Übersichtsblatt neben dem Datenmaterial eingeblendet werden, wenn die Optionenbedingung erfüllt ist.
Also: Wenn c1=wahr, dann Textfeld 1 einblenden sonst ausblenden.
Ich habe im VBA mal einen Versuch gestartet, doch das ist noch nicht das Gelbe vom Ei.
Sub Abweichungsanalyse()
If Sheets("Übersicht").Range("C1").Value = True Then
Sheets("Abweichungsanalysen").Shapes("Rectangle 1").Copy
Sheets("Übersicht").Paste
End If
If Sheets("Übersicht").Range("C2").Value = True Then
Sheets("Abweichungsanalysen").Shapes("Rectangle 2").Copy
Sheets("Übersicht").Paste
End If
If Sheets("Übersicht").Range("C3").Value = True Then
Sheets("Abweichungsanalysen").Shapes("Rectangle 3").Copy
Sheets("Übersicht").Paste
End If
End Sub

Vor allem kann ich die hierher kopierten Textfelder nicht wieder ausblenden, da sie beim Kopieren eine jeweils andere "Rectangle-Nummer" erhalten und somit einen Debug-Fehler erzeugen.
Vielleicht weiß jemand von Euch einen Rat, wie ich hier elegant die dazugehörigen Textfelder ein- und ausblenden kann.
Schöne Grüße
Berni

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textkommentare bei Bedingung einblenden
05.03.2007 21:58:00
Daniel
Hallo
du kannst auch die Überschriftsfelder gleich im Sheet "Übersicht" erstellen und dann mit:
Sheets("Übersicht").Shapes("Rectangle 1").visible = true
Sheets("Übersicht").Shapes("Rectangle 1").Visible = False
die einzlnen Textfelder ein- und ausblenden
da jetzt nichts mehr kopiert oder neu angelegt werden muß, ändern sich die Namen der Elemente auch nicht mehr.
Gruß, Daniel
AW: Textkommentare bei Bedingung einblenden
06.03.2007 10:58:38
Berni
Hallo Daniel!
Danke für Deine Rückmeldung. Ich habs probiert und etwas herumgebastelt, aber das Ein- und Ausblenden funktioniert noch nicht lückenlos. Ich habe folgenden Code im Tabellenblatt hineingestellt.
Option Explicit
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then
ActiveSheet.Shapes("rectangle 22").Visible = True
Else
ActiveSheet.Shapes("rectangle 22").Visible = False
End If
End Sub

Das Einblenden funktioniert zwar, aber ich möchte die anderen Kommentare entweder darüber legen oder ausblenden und den nächsten Kommentar anstatt dessen holen, also etwa:
If OptionButton2.Value = True Then
ActiveSheet.Shapes("rectangle 23").Visible = True
Else
ActiveSheet.Shapes("rectangle 23").Visible = False
End If
End Sub
Vielleicht kannst Du damit was anfangen.
Schöne Grüße Berni
Anzeige
AW: Textkommentare bei Bedingung einblenden
06.03.2007 20:17:00
Daniel
Hallo
naja was wann wie wo ausgeblendet wird, mußt du dir schon selber überlegen. Das Werkzeug dazu hast du ja.
Kleiner Tip noch, das hier:
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then
ActiveSheet.Shapes("rectangle 22").Visible = True
Else
ActiveSheet.Shapes("rectangle 22").Visible = False
End If
End Sub
lässt sich auch wesentlich kürzer schreiben:
Activesheet.shapes("rectangle 22).visible = Optionbutton1.value
Wenn du also drei Optionbuttons hast, mit denen du 3 Textfelder steuern willst, sieht das Makro dazu so aus:
Activesheet.shapes("rectangle 22).visible = Optionbutton1.value
Activesheet.shapes("rectangle 23).visible = Optionbutton2.value
Activesheet.shapes("rectangle 24).visible = Optionbutton3.value
diesen Code kannst du so allen 3 Optionbuttons zuweisen
Wenn du 2 Textfelder hast, die du mit einem Optionbutten wechselseitig ausblenden willst, geht das so:
Activesheet.shapes("rectangle 22).visible = Optionbutton1.value
Activesheet.shapes("rectangle 23).visible = not Optionbutton1.value

Falls mehrere Textfelder sichtbar übereinander liegen sollen, kannst du mit diesen befehlen die Reihenfolge verändern:
  ActiveSheet.Shapes("Rectangle 2").ShapeRange.ZOrder msoSendToBack
ActiveSheet.Shapes("Rectangle 2").ShapeRange.ZOrder msoBringToFront
ActiveSheet.Shapes("Rectangle 1").ShapeRange.ZOrder msoBringForward
ActiveSheet.Shapes("Rectangle 1").ShapeRange.ZOrder msoSendBackward
aber sowas findet man am Besten selbst mit dem Makro-Recorder raus.
Gruß, Daniel
Anzeige
AW: Textkommentare bei Bedingung einblenden
06.03.2007 22:18:56
Berni
Herzlichen Dank Daniel!
Vor allem die abgekürzte Schreibweise werde ich mir in mein VBA-Buch schreiben. Ich habe zwar schon öfter das Ein- und Ausblenden von Diagrammen über Toggle-Button eingebaut. Die Steuerung über Optionsbuttons war mir in der Schreibweise neu.
Nochmals vielen Dank
Berni

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige