Thema Datum  Von Nutzer Rating
Antwort
07.04.2014 10:08:38 Gast20804
NotSolved
07.04.2014 20:07:50 Gast58795
*****
Solved
08.04.2014 08:58:12 Gast92710
NotSolved
08.04.2014 09:27:50 Gast74206
*****
Solved
08.04.2014 10:05:00 Gast91031
NotSolved
08.04.2014 10:20:29 Gast72403
NotSolved
08.04.2014 10:54:21 Gast42594
NotSolved
08.04.2014 13:37:47 Gast64574
NotSolved
08.04.2014 16:58:42 Gast93696
NotSolved
Blau Shape Farbe ändern und Filter setzen mit Anklicken des Shapes
08.04.2014 14:24:51 Gast91072
NotSolved
08.04.2014 17:00:24 Gast45855
NotSolved

Ansicht des Beitrags:
Von:
Gast91072
Datum:
08.04.2014 14:24:51
Views:
3786
Rating: Antwort:
  Ja
Thema:
Shape Farbe ändern und Filter setzen mit Anklicken des Shapes

Hi,

ich hake mich hier mal eben ein um auf eine ähnliche Aufgabenstellung hinzuweisen.

Für dich dürfte sich daraus etwas in dieser Art ergeben (ungetestet):

Option Explicit
 
'Makro welches einem Shape zugewiesen werden kann
Public Sub Shape_OnAction()
   
  Dim objShp As Excel.Shape
  Dim strShapeName As String
  Dim strShapeText As String
   
  Select Case TypeName(Application.Caller)
    Case "String"
      strShapeName = Application.Caller
    Case Else
      Exit Sub
  End Select
  
  'prüfen ob der ShapeName wirklich vorhanden ist
  ' man vermeidet so einen Laufzeitfehler bei >Shapes(strShapeName)<
  If ShapeExists(strShapeName, ActiveSheet) Then
    
    Set objShp = ActiveSheet.Shapes(strShapeName)
    
    strShapeText = objShp.TextFrame2.TextRange.Text
    
'    Call MsgBox("Shape = '" & strShapeName & "'" & vbNewLine & _
'                "Text = '" & strShapeText & "'")
    
    With ThisWorkbook.Worksheets("Sheet3")
      If .FilterMode Then
        .Range("$A$5:$T$500").AutoFilter , Field:=4
      Else
        .Range("$A$5:$T$500").AutoFilter , Field:=4, Criteria1:=strShapeText
      End If
    End With
    
    Call ToggleShapeColor(objShp)
    
  Else
    Call MsgBox("Shape '" & strShapeName & "' wurde im aktiven Blatt nicht gefunden.", _
                vbExclamation)
  End If
  
End Sub

Private Sub ToggleShapeColor(Shape As Excel.Shape)
  
  Const COLOR_PRIMARY As Long = &H8A5D38  'RGB(56, 93, 138)
  Const COLOR_SECONDARY As Long = &H50B000  'RGB(0, 176, 80)
  
  If Shape Is Nothing Then Exit Sub
  
  With Shape.Fill.ForeColor
    If .RGB = COLOR_PRIMARY Then
      .RGB = COLOR_SECONDARY
    Else
      .RGB = COLOR_PRIMARY
    End If
  End With
  
End Sub

Public Function ShapeExists(Name As String, Optional Sheet As Object) As Boolean
  On Error Resume Next
  If Sheet Is Nothing Then
    ShapeExists = (ActiveSheet.Shapes(Name).Name <> "")
  Else
    ShapeExists = (Sheet.Shapes(Name).Name <> "")
  End If
End Function

 

Gruß


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
07.04.2014 10:08:38 Gast20804
NotSolved
07.04.2014 20:07:50 Gast58795
*****
Solved
08.04.2014 08:58:12 Gast92710
NotSolved
08.04.2014 09:27:50 Gast74206
*****
Solved
08.04.2014 10:05:00 Gast91031
NotSolved
08.04.2014 10:20:29 Gast72403
NotSolved
08.04.2014 10:54:21 Gast42594
NotSolved
08.04.2014 13:37:47 Gast64574
NotSolved
08.04.2014 16:58:42 Gast93696
NotSolved
Blau Shape Farbe ändern und Filter setzen mit Anklicken des Shapes
08.04.2014 14:24:51 Gast91072
NotSolved
08.04.2014 17:00:24 Gast45855
NotSolved