Excel Makro

Dorschty

Erfahrenes Mitglied
Hey Leute,

hab ein Problem mit Excel! Und zwar hätte ich das gerne so, das wenn ich auf eine zelle klicke, soll in der Zelle ein X erscheinen, also quasi die Rahmeneigenschaften so setzen, dass eine Linie von links oben nach rechts unten und von rechts oben nach links untern verläuft. Hab leider noch nie Makros in Excel geschrieben und kenne mich auch mit VBA nicht aus.
Bin für jeden Tipp dankbar!

Grüße und Danke im Voraus
Dorschty
 
Hi,

es gibt (wenn ich mich recht erinnere) ein Event im Worksheets-Objekt (onSelect?), welches die ausgewählten Zellen übergibt. Ist auch im Makroeditor (wenn du das makro in einem Sheet schreibst, nicht in einem extra Modul) in diesen zwei Drop-Down-Feldern auswählbar. (besser kann ich es momentan leider nicht beschreiben)

Den Rest kann man durch Schleifen realisieren, in dem man die entsprechenden Cells anspricht. Wird aber bestimmt nicht das schnellste Skript.
Wie genau das geht, erfährst du am leichtesten, wenn du dir ein entspr. Marko aufzeichnest und dir dann mal den generierten Code ansiehst.


Gruß

.:lay-z-cow:.
 
Hmm... danke für die Antwort, aber die bringt mich leider net weiter, weil ich net weiß, wie ich das machen kann! :rolleyes:
Wie kann ich denn z.B. mit einem gezeichneten Rechteck so umgehen, wie z.B. mit einem Button? Das ich die Eigenschaften wie Visible usw. verändern kann! Es muss doch bestimmt irgendwie gehen etwas gezeichnetes zu einem Objekt zu machen und nicht nur ein Makro zuzuweisen oder?

Gruß
Dorschty
 
Hi,

was meinst du denn genau mit "gezeichnet"?
Hast du direkt in Excel etwas mit Linien, Formen etc. gemalt? Das lässt sich per Makro steuern.
Externe Bilder kannst du entweder als Hintergrund eines Buttons verwenden oder aber auch einfach per Steuerelement Bild. Auch das kann man dann mit eingenem Code belegen (Kontextmenü) oder spezielle Eigenschaften wie visible abändern.

Das was du aber eigentlich machen wolltest geht nur über Makros (soweit ich weiß).


Gruß

.:lay-z-cow:.
 
Hey,

genau! Mit gezeichnet meine ich einfach Linien, oder ein Rechteck, das ich in die Excel Tabelle eingefügt hab!
Wenn ich jetzt mal angenommen einfach ein Rechteck hinzeichne und dem den Namen lbl1 gebe, kann ich in dem VBA Editor nicht darauf zugreifen! Der kennt das nicht und damit kann ich auch die Eigenschaften wie Visible oder sonst was verändern! Er erkennt es irgendwie nicht als Objekt an, denke ich mal.

Gruß
Dorschty
 
Momentan habe ich leider kein Excel zur Verfügung.
In diese Richtung habe ich leider noch nie etwas gemacht, wenn dann habe ich diese Sachen immer direkt per Makro zeichnen lassen...

Wäre es denn möglich bspw. statt gezeichneten Rechtecken Zellen einzufärben?
Andere Möglichkeiten wären, dass du irgendein Steuerelement als Rechteck missbrauchst (die meisten sind ja rechteckig) - einen Button oder ein Panel... die kannst du ja durch Hintergrund, Rand etc entsprechend anpassen.

Gruß

.:lay-z-cow:.
 
Hallo,

wenn es auch ein Fadenkreuz sein darf. das statt diagonal für senkrecht/waagerecht geht und du keine weiteren (Hintergrund-)einfärbungen verwendet hast, dann hilft dir vielleicht DAS.

Im Anhang die Beispieldatei.
 

Anhänge

  • Fadenkreuz.zip
    7,9 KB · Aufrufe: 296
Hey,

danke für das Programm! Ist zwar leider nicht ganz das, was ich gebraucht hab, weil ich wollte, das das Kreuz bleibt und ich somit mehrere Zellen markieren kann!
Ist aber trotzdem ein schönes kleines Tool, das man bestimmt nochmal verwenden kann! :) :):):)Danke

Gruß
Dorschty
 
Hi,

ich habe jetzt diesen Beitrag mal im Detail gelesen.

Vielleicht ist ja diesmal das richtige dabei :)


Tabellenblatt 1 - das Fadenkreuz wie im anderen Dokument
Tabellenblatt 2 - x (oder kein x) durch markierte Zellen
Tabellenblatt 3 - Formen (Linien/Rechtecke) verschieben, umfärben


P.s.: Es ist immer praktisch ein Makro aufzuzeichnen und dann nachträglich den Code zu ändern, so spart man sich die Mühe die entsprechenden Befehle zu suchen.
 

Anhänge

  • Fadenkreuz 2.zip
    11,8 KB · Aufrufe: 280
Hey Duckdonald,

vielen Dank! Das ist genau das, was ich suche! :) Kann ich die ganze Sache aber noch etwas begrenzen? Das soll nämlich nicht im kompletten Tabellenblatt funktionieren, sondern nur in einem Teil!
Vielen Dank schonmal im Voraus!

Beste Grüße
Dorschty
 

Neue Beiträge

Zurück