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

Forumthread: Sheets(Target.Value).Activate - wenn ausgeblendet

Sheets(Target.Value).Activate - wenn ausgeblendet
15.07.2013 09:09:42
Peter
Guten Tag
Weshalb wird bei
Sheets(Target.Value).Activate
eine andere Tabelle angesprungen, falls die Tabelle Target.Value ausgeblendet ist?
Ich hätte erwartet, dass dieser Befehl als Fehler inerpretiert wird und deshalb SkipIt angesprungen wird.
Gruss, Peter
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel  _
As Boolean)
''' Doppelklick in einer Tabelle innerhalb USEDRANGE, Tabelle "Index" wird angesprungen
''' Doppelklick in Tabelle "Index", Eintrag in Spalte A, entsprechende Tabelle wird  _
angesprungen, Zelle K1 wird angesprungen
Dim MyRange As Range, IntersectRange As Range
Set MyRange = Sh.UsedRange
Set IntersectRange = Intersect(Target, MyRange)
On Error GoTo SkipIt
If IntersectRange Is Nothing Then Exit Sub
Select Case Sh.Name    '' ***
Case Is  "Index"
Sheets("Index").Activate
Range("A1").Activate
Application.GoTo ActiveCell, scroll:=True
Case Else
Sheets(Target.Value).Activate
Range("K1").Activate
Application.GoTo ActiveCell, scroll:=True
End Select
SkipIt:
Exit Sub
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheets(Target.Value).Activate - wenn ausgeblendet
15.07.2013 11:07:26
Hajo_Zi
Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Verzichte darauf und Du hast das Problem nicht, setze With ein.

Anzeige
AW: Sheets(Target.Value).Activate - wenn ausgeblendet
15.07.2013 11:42:30
Peter
Hallo Hajo
Das ist mir schon klar - doch hier muss die Tabelle aktiviert werden.
Gruss, Peter

AW: Sheets(Target.Value).Activate - wenn ausgeblendet
15.07.2013 13:11:15
Rudi
Hallo,
würde ich auch erwarten.
So bekommst du nen Fehler:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel _
As Boolean)
''' Doppelklick in einer Tabelle innerhalb USEDRANGE, Tabelle "Index" wird angesprungen
''' Doppelklick in Tabelle "Index", Eintrag in Spalte A, entsprechende Tabelle wird _
angesprungen, Zelle K1 wird angesprungen
Dim MyRange As Range, IntersectRange As Range
Set MyRange = Sh.UsedRange
Set IntersectRange = Intersect(Target, MyRange)
On Error GoTo SkipIt
If Not IntersectRange Is Nothing Then
Select Case Sh.Name    '' ***
Case "Index"
Application.Goto Sheets("Target").Range("K1"), True
Case Else
Application.Goto Sheets("Index").Range("A1"), True
End Select
End If
SkipIt:
End Sub
Gruß
Rudi

Anzeige
Zusatz
15.07.2013 13:16:23
Rudi
Hallo,
.Select erzeugt einen Fehler.
Gruß
Rudi

AW: Zusatz
15.07.2013 14:30:22
Peter
Hallo Rudi
Vielen Dank.
Was meinst du genau mit .Select erzeugt einen Fehler? Ich hatte in meiner Version nur Select Case ... End Select.
Bei Case Else muss bei mir stehen:
Application.Goto Sheets(Target.Value).Range("K1"), True '' Target.Value in Sheet Index ist immer ein Tabellenname
Gruss, Peter

Anzeige
AW: Zusatz
15.07.2013 15:32:23
Rudi
Hallo,
ein .Select auf ein ausgeblendetes Sheet erzeuugt einen Fehler.
Bei Case Else muss bei mir stehen:
Application.Goto Sheets(Target.Value).Range("K1"), True ''

Nein. Ich hab doch die Bedingung umgedreht.
Gruß
Rudi

AW: Danke, owT
15.07.2013 15:57:46
Peter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige