Markieren mit VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Markieren mit VBA von: Bernd Stenmans
Geschrieben am: 22.03.2005 21:43:36

Hallo, ich versuche es nochmal, diesmal mit Screenshot.
Gesucht ist ein Code, der Banknamen und rechts nebenstehenden Zinsen markiert, falls die zugehörige Checkbox angekreuzt ist. Es können verschieden viele Zinsen neben den Banknamen stehen. Die Markierung soll dazu dienen, die ausgwählten Banken und Zinsen dann in einem Diagramm darzustellen.

Das ist die Ausgangslage


und so sollte es nachher aussehen.



Ich danke euch schonmal für eure Mühen, wenn ich das geschafft habe wird mein Projekt beendet sein.

Bernd

Bild


Betrifft: AW: Markieren mit VBA von: Oberschlumpf
Geschrieben am: 22.03.2005 21:58:34

Hi Bernd

Wie willst Du dann vorgehen, wenn die Zeilen farbig markiert sind?
Willst Du abfragen, wenn Zelle farbig, dann zu Wertetabelle in Diagramm hinzufügen?

Ohne jetzt spontan eine Idee zu haben, aber wenn dem so ist, warum machst Du das nicht an der Checkbox fest?

Wenn Haken gesetzt, dann zu Wertetabelle hinzufügen, wenn Haken nicht gesetzt, dann aus Wertetabelle entfernen.

Ist nur eine Idee.
Ach so. Hierfür wäre natürlich VBA erforderlich.

Ciao
Thorsten


Bild


Betrifft: AW: Markieren mit VBA von: Bernd Stenmans
Geschrieben am: 22.03.2005 22:26:23

Hallo, Thorsten,

ich möchte nicht farblich formatieren, sondern makieren, um daraus ein Diagramm zu erstellen. Ich habe da insgesamt zwanzig Banken gelistet, von allen Banken den Zinsverlauf in einem Diagramm darzustellen wird sehr unübersichtlich, deswegen suche ich einen Weg wie einzelne Banken ausgewählt werden können, damit das Diagramm übersichtlich bleibt. Das alles wäre kein Problem wenn nur eine bestimmte und bekannte Anzahl von Zinsen neben dem Bankennamen steht, aber es muss mit verschiedenen Zinsen neben dem Namen funktionieren. Wenn mehr leere Zellen "mitmarkiert" werden, erscheinen diese auch im Diagramm. Das ist nicht gewünscht.
Ich weiss das VBA verwendet werden muss und will das auch, ich wollte nur sagen das ich nicht soviel Ahnung davon habe.


Bernd


Bild


Betrifft: AW: Markieren mit VBA von: Bert
Geschrieben am: 22.03.2005 22:33:13

Zieh die Sache so auf, dass die nicht gewünschten Banken ausgeblendet werden,
dann werden die Daten standardmäßig auch nicht im Diagramm angezeigt.

Bert


Bild


Betrifft: AW: Markieren mit VBA von: Oberschlumpf
Geschrieben am: 23.03.2005 00:55:04

Hi Bernd

Ok, das mit der Farbe hab ich falsch interpretiert :-)
In den Screenshots sieht die "einfache" Zellmarkierung halt aus wie Farbe :-)

Ich hab mal etwas "gebastelt".

https://www.herber.de/bbs/user/20035.xls

In diesem Bsp wird fast alles automatisch gemacht.

Wenn Du zuerst die gewünschten Banken per Haken auswählst,...
...werden zuerst in der Hilfs-Tabelle 2 die Werte der gewählten Banken zusammengefasst.
(jede Bank in einer eigenen Zeile; und nur die gewählten Banken)

Wenn Du dann auf den Button oben rechts klickst...
...wird automatisch ein Diagramm erzeugt, welchem die Werte aus Tabelle2 zugrunde liegen

Wenn Du die Markierungen der zuvor gewählten Banken in Tabelle 1 wieder entfernst...
...werden auch die Werte in Tabelle2 gelöscht

Wenn Du eine neue Auswahl triffst, und wieder auf den Button klickst...
...wird das alte Diagramm gelöscht, und es wird ein neues erstellt

Kleiner Schönheitsfehler:
Es ist mir nicht gelungen, die Zellen, in denen keine Werte stehen, aus dem Diagramm auszuschließen.
Testweise habe ich mal per Hand wirklich nur DIE Zellen MIT Werten markiert und ein Diagramm erstellt. Aber auch hier war das Ergebnis identisch.
Ich vermute, es ist auch nicht möglich, "leere" Zellen auszuschließen, wenn sie im Verbund mit den gefüllten Zellen sind.

So, sicherlich könnte man noch das Eine oder Andere verbessern.
Aber ich denke, für den Anfang reicht das.
Jetzt bist Du wieder dran (zu verbessern) :-)

Konnte ich denn helfen?

Ciao
Thorsten


Bild


Betrifft: AW: Das ist es fast, bitte lesen von: Bernd Stenmans
Geschrieben am: 23.03.2005 08:32:04

Hallo Thorsten, vielen Dank für deine Arbeit. Im Prinzip macht dein Arbeitsblatt alles was ich brauche.
Den von dir angesprochenen Schönheitsfehler gibt es nicht, denn es werden keine Leerzellen zwischen den Zinssätzen geben.
Ich bitte dich ein paar Kleinigkeiten abzuändern, ich selber kann es nicht da ich den Code nicht verstehe.
Die Hilfstabelle soll bitte in dem aktuellen Arbeitsblatt ab Zeile 30 erstellt werden.
Das Diagramm soll vom Typ Liniendiagramm sein.
Das Diagramm soll im aktuellen Arbeitsblatt gemacht werden. Es darf die ganze Seite bedecken und soll sich bei klick auf das Diagramm wieder schliessen. Am liebsten ohne Bestätigung.

Vielen Dank, wenn ich das geschafft habe, habe ich alles hinter mir. Das ist mir eine große Hilfe.


Bild


Betrifft: Hier eine Idee von mir von: Bernd Stenmans
Geschrieben am: 23.03.2005 08:54:02

Ich kann das so einrichten, das nur banken und zinsen drinstehen.
das markiere ich alles mit dem befehl ActiveSheet.UsedRange.Select. dann wird über eine if-abfrage die zeile "unselected", wenn die zugehörige checkbox nicht angekreuzt ist.
Der Code erst mal ohne checkbox, nur um zu testen wie man das machen würde:

sub....
ActiveSheet.UsedRange.Select
'angenommen d5:f10 ist nun ausgewählt, jetzt soll die markierung bei e5:e10 aufgehoben werden
range(e5:e10).unselect oder range(e5:10).selected = false???
end sub.

was meint ihr?


Bild


Betrifft: AW: Das ist es fast, bitte lesen von: Oberschlumpf
Geschrieben am: 23.03.2005 10:30:18

Hi Bernd

Da ich gerad erst fertig wurde mit Deinen ersten "Verbesserungswünschen", las ich erst jetzt Deine weiteren "Wünsche" und habe diese nicht mit in meine Lösung Nr. 2 einfließen lassen.

Hier aber nun der 2. Versuch

https://www.herber.de/bbs/user/20045.xls

Ich habe allerdings einen etwas anderen Weg gewählt.

Die ausgewählten Zeilen werden im gleichen Blatt ab Zeile 30 angezeigt
Ein Klick auf den Button lässt im gleichen Blatt das Diagramm erscheinen

Aber das Diagramm füllt nicht das ganze Blatt aus, sondern ein weiterer Klick auf den selben Button entfernt das Diagramm wieder.

Ich weiß leider nicht, wie man auf einen Klick in ein Diagramm per VBA reagieren kann, wenn das Diagramm kein eigenes Blatt ist.

Aber ich denke, diese Lösung könnte auch für Dich brauchbar sein, oder?

Freue mich auf Dein Feedback.

Ciao
Thorsten


Bild


Betrifft: AW: Das ist es fast, bitte lesen von: Oberschlumpf
Geschrieben am: 23.03.2005 10:30:23

Hi Bernd

Da ich gerad erst fertig wurde mit Deinen ersten "Verbesserungswünschen", las ich erst jetzt Deine weiteren "Wünsche" und habe diese nicht mit in meine Lösung Nr. 2 einfließen lassen.

Hier aber nun der 2. Versuch

https://www.herber.de/bbs/user/20045.xls

Ich habe allerdings einen etwas anderen Weg gewählt.

Die ausgewählten Zeilen werden im gleichen Blatt ab Zeile 30 angezeigt
Ein Klick auf den Button lässt im gleichen Blatt das Diagramm erscheinen

Aber das Diagramm füllt nicht das ganze Blatt aus, sondern ein weiterer Klick auf den selben Button entfernt das Diagramm wieder.

Ich weiß leider nicht, wie man auf einen Klick in ein Diagramm per VBA reagieren kann, wenn das Diagramm kein eigenes Blatt ist.

Aber ich denke, diese Lösung könnte auch für Dich brauchbar sein, oder?

Freue mich auf Dein Feedback.

Ciao
Thorsten


Bild


Betrifft: weils so schön war,gleich 2x...tzz..1 kann weg :-) von: Oberschlumpf
Geschrieben am: 23.03.2005 10:33:34




Bild


Betrifft: AW: Markieren mit VBA von: Uwe Küstner
Geschrieben am: 22.03.2005 23:41:18

Hallo Bernd,

füge folgendes Makro in ein normales Modul ein:
Sub ZinsCheck()
  Dim bAn As Integer
  Dim iZeile As Long
  Dim shC As Shape
  Set shC = ActiveSheet.Shapes(Application.Caller)
  With shC.OLEFormat.Object
    bAn = Abs(.Value = 1)
    iZeile = .TopLeftCell.Row
  End With
  Range(Cells(iZeile, 2), Cells(iZeile, Columns.Count) _
        .End(xlToLeft)).Interior.ColorIndex = 5 * bAn
End Sub

Die Checkboxen müssen aus dem Menü Formular sein.
Also nicht aus der Steuerelemente-Toolbox.
Weise allen Checkboxen dieses Makro zu.
Wichtig ist die jeweilige Position einer Checkbox,
weil die Zeile automatisch aus der oberen linken
Ecke der Checkbox ermittelt wird.
Die Farbe wird mit dem 'ColorIndex' festgelegt(1 bis 56).
Momentan ist 5 (Blau) eingestellt.

Gruß Uwe


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Markieren mit VBA"