|
Betrifft: Worksheet_SelectionChange
von: Sascha
Geschrieben am: 09.03.2010 23:28:27
Guten Abend,
habe von vba nicht besonders viel Ahnung, brauche aber dringend ein Lösung für das folgende Problem:
Mehrdeutiger Name: Worksheet_SelectionChange
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call SteuerButton(ActiveWindow.VisibleRange(1).Top)
End Sub
und
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("O6,AC6,AQ6,BE6,BS6,CG6,O8,AC8,AQ8,BE8,BS8,CG8")) Is Nothing Then
Exit Sub
End If
Range("BA11").Value = Target.Value
Range("BA11").Interior.ColorIndex = Target.Interior.ColorIndex
End Sub
Ist eine Zusammenführung beider Code`s möglich, ohne das obige Fehlermeldung erscheint? Wenn ja,
möchte ich Euch bitten, diese zusammen zu fügen.
Vielen Dank
Sascha
Betrifft: AW: Worksheet_SelectionChange
von: D.Saster
Geschrieben am: 09.03.2010 23:36:13
Hallo,
sicher kann man das zusammenfügen.
Aber willst du wirklich bei jeder Cursorbewegung das Makro SteuerButton ausführen?
Gruß
Dierk
Betrifft: AW: Worksheet_SelectionChange
von: Sascha
Geschrieben am: 09.03.2010 23:47:12
Hallo Dierk,
ich kann nur soviel dazu sagen, das ich beide Code`s brauche.
Was es zusätzlich für Auswirkungen hat, ist mir im Moment nicht
wirklich Bewusst bzw klar. Würde es aber gerne ausprobieren
wollen, bekomme es jedoch nicht alleine hin.
Würdest du mir helfen?
Gruß
Sacha
Betrifft: Na, dann teste das doch erst mal,...
von: Luc:-?
Geschrieben am: 10.03.2010 00:10:20
…Sacha,
indem du eine der beiden Ereignisprozeduren vorerst bei der Mappe (Diese Arbeitsmappe) unterbringst, denn da gibt's noch mal 'nen vollen Satz, wobei du allerdings den Namen des relevanten Blattes abfragen musst. Allerdings kann auch ich mir nicht vorstellen, dass das Aufrufen des Makros bei jeder (neuen) Zellauswahl, ohne dass hier ein bestimmter Bereich festgelegt wird, wirklich sinnvoll ist…
Gruß Luc :-?
Betrifft: AW: Na, dann teste das doch erst mal,...
von: Sascha
Geschrieben am: 10.03.2010 00:26:37
Hallo Luc,
der vollständige Code für den Steuerbutton sieht so aus:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call SteuerButton(ActiveWindow.VisibleRange(1).Top)
End Sub
'Gruppierung
Sub SteuerButton(myTop As Long)
ActiveSheet.Shapes("Group 17").Top = myTop + 5
End Sub
'MontagPrivate Sub OptionButton1_Click()
Call BereichFestlegen("A19:DA102")
End Sub
'DienstagPrivate Sub OptionButton2_Click()
Call BereichFestlegen("A102:DA185")
End Sub
'MittwochPrivate Sub OptionButton3_Click()
Call BereichFestlegen("A184:DA267")
End Sub
'DonnerstagPrivate Sub OptionButton4_Click()
Call BereichFestlegen("A267:DA350")
End Sub
'FreitagPrivate Sub OptionButton5_Click()
Call BereichFestlegen("A350:DA433")
End Sub
Sub BereichFestlegen(strBereich As String)
Application.ScreenUpdating = False
Me.ScrollArea = strBereich
ActiveWindow.SmallScroll Down:=Range(strBereich)(1).Row - ActiveWindow.VisibleRange(1).Row
SteuerButton Range(strBereich)(1).Top
Application.ScreenUpdating = True
End Sub
...und soll in dem Blatt integriert werden.
Die Arbeitsmappe funktioniert mit den zweiten Code einwandfrei. Wäre super, wenn es doch noch
eine Lösung für mich "Nicht-VBA`ler" geben würde. Wie gesagt, unabhängig voneinander funktioniert
es einwandfrei(zumindest für mich).
Gruß
Sascha
Betrifft: Ich schrieb doch quasi, nimm das...
von: Luc:-?
Geschrieben am: 10.03.2010 00:51:42
…Dokument-Klassenmodul der Arbeitsmappe, Sascha!
Das heißt standardmäßig DieseArbeitsmappe. Da kannst du die überzählige Ereignisprozedur unterbringen und auf alle oder nur bestimmte Blätter ausrichten. Es wdn dann stets beide auf dem jeweiligen Blatt ausgeführt.
Wenn du mal im Archiv (Alle Recherchen) nach dem Prozedurnamen suchst, wirst du jede Menge Hinweise finden…
Gruß Luc :-?
|