Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen als Schaltfläche programmieren
#1
Hallo zusammen,

hatte hier mal einen Thread (mittlerweile geschlossen, daher neu), in dem ich mein Leid geklagt habe über
Makro-Schaltflächen, die auf einmal alle übereinander liegen Undecided
Habe die betreffenden Schaltflächen seinerzeit neu positioniert, und zwar mit den Eigenschaften
von Zellposition und -größe UNABHÄNGIG
Das hat jetzt ca. ein Vierteljahr einwandfrei funktioniert. Leider sind jetzt wieder alle Schaltflächen übereinander, ohne, daß ich dem Phänomen irgendeinen Auslöser zuordnen könnte.

LANGE REDE KURZER SINN: schon damals wurde mir als mögliche Lösung die Variante "Zellen als Schaltfläche programmieren" vorgeschlagen.
Kann mir hierzu jemand eine Hilfestellung geben?!?
Besten Dank vorab und viele Grüße
Klaus
Antworten Top
#2
Hallo

kurze Rede langer Sinn Wink

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target.Address = "$B$2" Then
       Cancel = True
       MsgBox "dieses Makro"
   End If
   If Target.Address = "$D$2" Then
       Cancel = True
       MsgBox "ein anderes makro"
   End If
End Sub
MfG Tom
Antworten Top
#3
Hallo auch von mir,

ergänzend zu Toms Antwort. Falls es nur als optische Schalfläche dienen soll:


Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Not Intersect(Target, [bereich]) Is Nothing Then
       With Target
           If .Value = "X" Then .Value = "" Else .Value = "X"
       End With
       Cancel = True
   End If
End Sub
Gruß Jonas
Antworten Top
#4
Hallo zusammen,
vielen Dank schon mal, werde mich da mal reinfuchsen.
Nur zur Sicherheit: damit kann ich dann ein Makro aktivieren, oder?
Wie baue ich das dann ein, wenn ich bereits einen vordefinierten Makrotext habe?
Und was ist "nur eine optische Schaltfläche"?!? :19:
Besten Dank nochmal
Klaus
Antworten Top
#5
Hallo

wenn du dich für meinen Code entscheidest dann ersetze die MsgBoxen durch deinen
bisherigen Code den du den Schaltflächen zugeordnet hast
ich würde die Zellen die als Schaltflächen dienen sollen
mit anderer Hintergrundfarbe und unterschiedlichen Rahmen belegen
zum Beispiel die Zellen A1 bis E3 mit gelbem Hintergrund
die Zellen B2 und D2 mit blauem Hintergrund
bei B2 und D2 die unteren und die rechten Rahmenlinien dick schwarz
und obere und linke Rahmenlinie weiß
damit hast du optisch eine Schaltfläche

MfG Tom
Antworten Top
#6
Hi Tom,
besten Dank schonmal, ich werde es versuchen!
VG
  :43: Klaus
Antworten Top
#7
Hallo

unter diesem Link gibt es eine Datei von mir um Objekte aufzuklisten und neu einzurichten.  Dazu muss man nur in den Zellen die Angaben für Höhe, Breite, Oben, Rechts neu eingeben. Den Rest macht das Programm in Sekunden.

Warum sich Objekte von selbsy veraendern würde mich auch interessieren.  Spalten, Zeilen gelöscht/ neu eingefügt??  Sollte je egal sein! 

mfg  Gast 123 

Datei & Objekte bearbeiten.xlsm
Antworten Top
#8
Hallo!


Müssen die Schaltflächen unbedingt in der Tabelle sein? Du könntest sie auch ins Menüband legen (http://www.rholtz-office.de/ribbonx/start).

(11.04.2017, 01:37)Gast 123 schrieb: (...) Warum sich Objekte von selbst veraendern würde mich auch interessieren (...)
Das weiss nur Microsoft. Bekannt ist dieses Problem seit Office 2007.

Gruß, René
Antworten Top
#9
Hallo @all & Tom,
da zeigt sich mal wieder, daß ich es nicht von der Pike auf gelernt habe Undecided
Wenn ich den Code anstelle der msg-Box eingebe, komme ich direkt in den Debugger.

Ich habe geschätzte 30 Makros, die ich unterbringen muß.
Bin zu dämlich, wie muß ich vorgehen?

Die Makros existieren bereits alle, funktionieren auch, sind aber über den Rekorder geschrieben worden. Daher habe ich noch große Probleme mit den Begrifflichkeiten im Editor. An welche Stelle genau muß ich die vorhandenen Makros in Dein Beispiel einfügen? Welche Angaben entfallen dann (Start- und Endkommandos)? Muß ich später die betreffende Zelle dann doppelklicken oder ist es wie bei einem Hyperlink mit dem Finger als Zeiger?

In jedem Fall BESTEN DANK!!!

Ein blutiger Laie grüßt
Klaus Dodgy
Antworten Top
#10
Hallo

vielleicht sollte man die Makro mal prüfen und optimieren.  Dazu müsste man sie sehen und ihre Funktion verstehen.
Kannst du eine Beispieldatei ins Forum stellen?  ggf. mit anonymen Daten.

mfg  Gast 123
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste