Clever-Excel-Forum

Normale Version: VBA ToggleButton Teil 1 (Farbe ins Spiel bringen)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5
Hi Uwe, ich weiß nicht... ... was mache ich falsch...? Ich befürchte: ALLES!!!!

[URL=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

PHP-Code:
Sub Rechteck_BeiKlick()
  
Dim oShape As Shape
  Dim rngV 
As Range
  Set oShape 
ActiveSheet.Shapes(Application.Caller)
  
With oShape
    
'Verweis auf Zelle mit der Adresse, die unter AlternativeText notiert ist
    Set rngV = Range(.I2)
    If rngV.Value <> 1 Then
      rngV.Value = 1
      .Fill.ForeColor.RGB = RGB(143, 170, 220)
    Else
      rngV.Value = 0
      .Fill.ForeColor.RGB = RGB(218, 227, 243)
    End If
  End With
End Sub 
Hi Jörg,

das hast Du missverstanden. Wink
Die Adresse(n) sollst Du in den Buttons (AutoForm formatieren- Web - Alternativer Text) reinschreiben,
nicht im Code. Den musst Du so lassen, zumindest was die Adresse betrifft.

Gruß Uwe
Hallo Uwe, das klappt soweit, ich hatte gar nicht mehr zu hoffen gewagt. Ein Träumchen...!!! ... leider kann ich nur Danke versenden... ... vielleicht sollte ich jeden Beitrag mit einem Danke versehen...? Und ein zusätzliches Danke für die Geduld mit einem (VBA-)Schlaffi...
(05.10.2014, 20:03)Kuwer schrieb: [ -> ]Hallo Jörg,

schreibe die Adresse der jeweils gewünschten Verknüpfungszelle
in das Feld für Alternativer Text jeder Autoform. Also einfach
H3 für die Zelle H3 im selben Blatt oder
Tabelle2!H3 für die Zelle H3 im Blatt Tabelle2.

...

Gruß Uwe

Hallo Uwe, sorry, ich muss noch mal stören, innerhalb einer Tabelle klappt das mit dem Bezug, so wie Du ihn beschrieben hast zu einer anderen Tabelle nicht... ... jedenfalls bei mir nicht. Kann natürlich an mir liegen..!!! Huh
Hallo Jörg,

Du bist doch der Formelspezi! ;)
Tabellenname hat Leerzeichen? >> dann mit Hochkommas "einrahmen".

Ansonsten bräuchte ich ein konkretes Beispiel oder eine Beispieldatei.

Gruß Uwe
Hallo Uwe, keine Leerzeichen im Tabellennamen... ... habe ich hier noch peinlicherweise das Ausrufezeichen vergessen, kann ich verraten: mit geht es auch nicht...!!!
Hallo Jörg,

die Schreibweise Range(Tabelle3!M2) ist mir nicht geäufig. Falls das geht, fehlt in Deinem alten naiven Text auf jeden Fall das Ausrufezeichen.

Was ich mir vorstellen könnte, wäre ein benannter Bereich, den Du dann verwendest oder Du nimmst nur die Zelle M2 in den alternativen Text und programmierst das Blatt fest, z.B.

Sheets("Tabelle3").Range(.AlternativeText)

Oder nach dem Vorschlag von Uwe nimmst Du Tabelle3!M2
und wenn das nicht direkt funktioniert dann im code
Set rngV = Sheets(Split(.AlternativeText, "!")(0)).Range(Split(.AlternativeText, "!")(1))
Hallo André, ich hatte meinen Beitrag noch editiert... ... wie geschrieben: Innerhalb einer Tabelle geht das...
Hallo Jörg,

Du hast das Makro im Modul der Tabelle stehen.
Es muss aber in ein allgemeines Modul!!! ;)

Gruß Uwe
Hallo Jörg,

wie gesagt, versuch's dann mal mit der letzten Zeile aus meinem Beitrag. Einfach nur die bisherige durch diese ersetzen.
Seiten: 1 2 3 4 5