Command Button sichtbar 2 Bedingungen

15/12/2007 - 11:35 von LUWEIN | Report spam
Hallo alle,

EXCEL 2002, SP3
Win XP Prof, SP 2 Build 2600

Ich habe ein Problem.

Ich habe ein Makro, das bisher genau gas gemacht hat was es soll. Jetzt
möchte ich es aber erweitern und bekomme das nicht hin.

Bisher hatte ich vier CommandButtons auf einem Tabellenblatt, die
jeweils ein bestimmtes Makro für die Änderungen in einer bestimmten
Zelle (C9:C12) aufrufen.
Jetzt möchte ich, dass vier weitere CommandButtons für die Zellen O9:O12
zustàndig sind.

Alle CB sollen jeweils nur dann sichtbar sein,
wenn 1. eine Änderung im vorgegebenen Bereich (C9:C12) oder O9:O12)
vorgenommen wurde
UND
wenn 2. in der geànderten Zeile in Spalte D bzw M der Text: "Kein
Pass!!" steht.


Das Makro s.u. macht das bereits (kann sicher vereinfacht werden) "zur
Hàlfte" doch wie geht es weiter?


Ich bin für jede Hilfe dankbar.

Mit freundlichem Gruß

Franz Luwein




Private Sub Worksheet_Change(ByVal Target As Range)
Dim introw As Integer
If Intersect(Target, Range("C9:C12")) Is Nothing Then Exit Sub
introw = Target.Row
If Cells(introw, 4).Value = "Kein Pass!!" Then
Select Case introw - 8
Case 1 ' Zeile 9 CB1 sichtbar
Me.Shapes("CommandButton" & introw - 8).Visible = True
Me.Shapes("CommandButton" & introw - 7).Visible = False
Me.Shapes("CommandButton" & introw - 6).Visible = False
Me.Shapes("CommandButton" & introw - 5).Visible = False
Case 2 ' Zeile 10 CB2 sichtbar
Me.Shapes("CommandButton" & introw - 9).Visible = False
Me.Shapes("CommandButton" & introw - 8).Visible = True
Me.Shapes("CommandButton" & introw - 7).Visible = False
Me.Shapes("CommandButton" & introw - 6).Visible = False
Case 3 ' Zeile 11 CB3 sichtbar
Me.Shapes("CommandButton" & introw - 10).Visible = False
Me.Shapes("CommandButton" & introw - 9).Visible = False
Me.Shapes("CommandButton" & introw - 8).Visible = True
Me.Shapes("CommandButton" & introw - 7).Visible = False
Case 4 ' Zeile 12 CB4 sichtbar
Me.Shapes("CommandButton" & introw - 11).Visible = False
Me.Shapes("CommandButton" & introw - 10).Visible = False
Me.Shapes("CommandButton" & introw - 9).Visible = False
Me.Shapes("CommandButton" & introw - 8).Visible = True
End Select
Else
Me.Shapes("CommandButton1").Visible = False
Me.Shapes("CommandButton2").Visible = False
Me.Shapes("CommandButton3").Visible = False
Me.Shapes("CommandButton4").Visible = False

End If
End Sub
 

Lesen sie die antworten

#1 Beverly
15/12/2007 - 19:20 | Warnen spam
Hi Franz,

um mehrere Bereiche zu implementieren, kannst du die Zeile so schreiben

If Intersect(Target, Range("C9:C12, O9:O12")) Is Nothing Then Exit Sub

Die Variable introw benötigst du nicht, man kann da auch Target.Row verwenden.

Bis spàter,
Karin
http://beverly.excelhost.de/

"LUWEIN" wrote:

Hallo alle,

EXCEL 2002, SP3
Win XP Prof, SP 2 Build 2600

Ich habe ein Problem.

Ich habe ein Makro, das bisher genau gas gemacht hat was es soll. Jetzt
möchte ich es aber erweitern und bekomme das nicht hin.

Bisher hatte ich vier CommandButtons auf einem Tabellenblatt, die
jeweils ein bestimmtes Makro für die Änderungen in einer bestimmten
Zelle (C9:C12) aufrufen.
Jetzt möchte ich, dass vier weitere CommandButtons für die Zellen O9:O12
zustàndig sind.

Alle CB sollen jeweils nur dann sichtbar sein,
wenn 1. eine Änderung im vorgegebenen Bereich (C9:C12) oder O9:O12)
vorgenommen wurde
UND
wenn 2. in der geànderten Zeile in Spalte D bzw M der Text: "Kein
Pass!!" steht.


Das Makro s.u. macht das bereits (kann sicher vereinfacht werden) "zur
Hàlfte" doch wie geht es weiter?


Ich bin für jede Hilfe dankbar.

Mit freundlichem Gruß

Franz Luwein




Private Sub Worksheet_Change(ByVal Target As Range)
Dim introw As Integer
If Intersect(Target, Range("C9:C12")) Is Nothing Then Exit Sub
introw = Target.Row
If Cells(introw, 4).Value = "Kein Pass!!" Then
Select Case introw - 8
Case 1 ' Zeile 9 CB1 sichtbar
Me.Shapes("CommandButton" & introw - 8).Visible = True
Me.Shapes("CommandButton" & introw - 7).Visible = False
Me.Shapes("CommandButton" & introw - 6).Visible = False
Me.Shapes("CommandButton" & introw - 5).Visible = False
Case 2 ' Zeile 10 CB2 sichtbar
Me.Shapes("CommandButton" & introw - 9).Visible = False
Me.Shapes("CommandButton" & introw - 8).Visible = True
Me.Shapes("CommandButton" & introw - 7).Visible = False
Me.Shapes("CommandButton" & introw - 6).Visible = False
Case 3 ' Zeile 11 CB3 sichtbar
Me.Shapes("CommandButton" & introw - 10).Visible = False
Me.Shapes("CommandButton" & introw - 9).Visible = False
Me.Shapes("CommandButton" & introw - 8).Visible = True
Me.Shapes("CommandButton" & introw - 7).Visible = False
Case 4 ' Zeile 12 CB4 sichtbar
Me.Shapes("CommandButton" & introw - 11).Visible = False
Me.Shapes("CommandButton" & introw - 10).Visible = False
Me.Shapes("CommandButton" & introw - 9).Visible = False
Me.Shapes("CommandButton" & introw - 8).Visible = True
End Select
Else
Me.Shapes("CommandButton1").Visible = False
Me.Shapes("CommandButton2").Visible = False
Me.Shapes("CommandButton3").Visible = False
Me.Shapes("CommandButton4").Visible = False

End If
End Sub

Ähnliche fragen