Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro starten wenn eingeblendete Spalten inaktiv

Makro starten wenn eingeblendete Spalten inaktiv
10.07.2007 12:32:00
Gerhard
Hallo zusammen,
ich möchte, dass wenn die Spalten A:B eingeblendet sind und der Curser diesen Bereich (A:B) verlässt ein Makro ausgeführt wird. Wer kann mir hier weiterhelfen?
Vielen Dank im Voraus!
Gruß Gerhard

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro starten wenn eingeblendete Spalten inaktiv
10.07.2007 12:50:00
Dan
Hi, hier ein beispiel. Den Code in den module vom ThisWorkbook kopieren. Funzt es? :-) Gruss Dan, cz.
Option Explicit
Private m_previousTarget As Range

Private Sub Workbook_Open()
Set m_previousTarget = ActiveCell
End Sub



Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Set m_previousTarget = ActiveCell
End Sub



Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If (Not m_previousTarget Is Nothing) Then
If (m_previousTarget.Column = 1 Or m_previousTarget.Column = 2) Then
Call Makro1
End If
End If
Set m_previousTarget = Target
End Sub



Private Sub Makro1()
MsgBox "Test"
End Sub


Anzeige
AW: Makro starten wenn eingeblendete Spalten inaktiv
10.07.2007 13:37:00
Gerhard
Hallo Dan,
haut nicht ganz hin. Ich bekomme die Meldung
m_previusTarget = Leer in der Zeile
If (Not m_previousTarget Is Nothing) Then
Aber ich glaube ich hab mein Problem nicht ganz sauber erklärt. Ich habe eine Datei mit mehreren Blättern. In dem Blatt Übersicht (nur in diesem Blatt) können über einen Button die Spalten A:B ein- und ausgeblendet werden. Beim ausblenden wird das Makro "spalten_ausblenden" gestartet das unter anderem die Namen aller Blätter aktualisiert. Nun wollte ich eine Sicherheit einbauen - falls vergessen wird den Button anzuklicken - dass, wenn die Spalten A:B noch eingeblendet sind (nicht wenn diese bereits ausgeblendet sind) und eine Zelle ausserhalb der Spalten A:B aktiviert wird, das Makro "spalten_ausblenden" startet.
Gruß Gerhard

Anzeige
AW: Makro starten wenn eingeblendete Spalten inaktiv
10.07.2007 14:12:00
Dan
Ok, dann vermutlich so:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If (Sh.Name  "Übersicht") Then
Exit Sub
End If
If (Sh.Columns(1).Hidden = True And Sh.Columns(2).Hidden = True) Then
Exit Sub
End If
If (Target.Column > 2) Then
Call spalten_ausblenden
End If
End Sub



Private Sub spalten_ausblenden()
MsgBox "spalten_ausblenden"
End Sub


Anzeige
AW: Makro starten wenn eingeblendete Spalten inaktiv
10.07.2007 14:21:38
Jens
Hallo Gerhard

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column > 2 And Columns("A:B").Hidden = False Then
Call spalten_ausblenden ' Hier Dein Makro-Aufruf'
End If
End Sub


Gruß aus dem Sauerland
Jens

Anzeige
AW: Makro starten wenn eingeblendete Spalten inaktiv
10.07.2007 14:25:00
Gerhard
Hallo Jens,
auch dir vielen Dank, das klappt auch. Jatzt habe ich die große Auswahl.
Gruß Gerhard

AW: Makro starten wenn eingeblendete Spalten inaktiv
10.07.2007 14:22:00
Gerhard
Hallo Dan,
ich bin begeistert, klappt super.
Das zeigt mal wieder: Besser bei der Beschreibung des Problems etwas geneuer sein, dann bekommt man auch die richtige Antwort.
Gruß Gerhard

Anzeige
@Dan
10.07.2007 16:03:13
Jens
Hallo Dan
Die erste If-Abfrage kannst Du doch weglassen, da der Code doch nur in einer Tabelle ausgeführt werden soll.
Dann genügt doch das einfache
Private Sub Worksheet_SelectionChange(ByVal Target As Range)-Ereignis
in der zugehörigen Tabelle.
Gruß aus dem Sauerland
Jens

Anzeige
AW: @Dan
10.07.2007 16:44:59
Dan
Hi Jens, ja es stimmt. Gruss Dan, cz.

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige