Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

sprung zur zweiten sichtbaren Zelle in spalte d

sprung zur zweiten sichtbaren Zelle in spalte d
walter
Hallo,
ich suche eine Lösung, leider in Bsp. nicht fündig geworden, indem ich bei aktiviertem Autofilter in die zweite (sichtbare) Zelle in Spalte D springe.
Scvhon malö mit Dank
Gruß
Walter
Nur sichtbare Zellen in gefilterter Liste
16.10.2009 13:13:42
NoNet
Hallo Walter,
hier ein Beispiel-Code, wie Du den Wert, die Adresse einer bestimmten Zelle in der gefilterten Liste ermitteln kannst und wie Du eine bestimmte Zelle "anspringen" (selektieren) kannst :
VBA-Code:
Option Explicit
'16.10.2009, NoNet - www.excelei.de (z.Zt. down !)
Sub SichtbareZelleAusGefilterterSpalte()
    'Hinweis : Falls eine komplette spalte als Bereich angegeben wird,
    'ist die 1. "sichtbare" Zelle jeweils die Überschrift der Spalte !
    'Adresse der 3. sichtbaren Zelle aus der gefilterten Spalte B anzeigen
    MsgBox SichtbareZelle(Range("B:B"), 3).Address
    'Wert der 5. sichtbaren Zelle aus der gefilterten Spalte C anzeigen
    MsgBox SichtbareZelle(Range("C:C"), 5).Value
    '2. sichtbare Zelle aus dem gefilterten Bereich D2:D1000 selektieren
    SichtbareZelle(Range("D2:D1000"), 2).Select
End Sub
Function SichtbareZelle(rngSpalte, lngZ) As Range
    Dim rngBereich As Range
    Dim lngA As Long, lngS As Long
    Set rngBereich = Intersect(rngSpalte.SpecialCells(xlCellTypeVisible), ActiveSheet.UsedRange)
    lngS = lngZ
    For lngA = 1 To rngBereich.Areas.Count
        If rngBereich.Areas(lngA).Cells.Count < lngS Then
            lngS = lngS - rngBereich.Areas(lngA).Cells.Count
        Else
            Set SichtbareZelle = rngBereich.Areas(lngA)(lngS)
            lngA = rngBereich.Areas.Count  'Schleifenabbruch ohne EXIT FOR !
        End If
    Next
End Function
Gruß, NoNet
AW: Nur sichtbare Zellen in gefilterter Liste
walter

Hallo NoNet,
mit Dank erstmal, hatte allerdings nur mit einer Zeile gerechnet.
wird getetstet
Gruß
Walter
AW: sprung zur zweiten sichtbaren Zelle in spalte d
walter

Hallo NoNet,
doch noch ne Frage:
Wie muß ich die function einbauen ? in ein eigenes Modul ?
Danke für Info
Gruß
Walter
Ja, alles in ein allgemeines Modul _oT
NoNet

_oT = "ohne Text"
AW: Ja, alles in ein allgemeines Modul _oT
walter

Hallo Nonet,
sorry, Fehlermeldung:
erwartet Anweisungsende und markiert as range in der ersten function Zeile
Hast Du evtl. ne Idee
Danke
Walter
Ist unlogisch ! - Aber lass mal "as Range" weg
NoNet

Hallo Walter,
eigentlich dürfte hier keine FM erscheinen, wenn Du den Code 1:1 kopiert hast (hast Du doch, oder ? ;-).
"Zur Not" kannst Du die Typendeklaration "As Range" auch weglassen.
Teste auch mal folgenden Code - tritt hier auch ein Fehler auf ?
Sub TestBereich()
[A1].Select
MsgBox rngZelle(ActiveCell).Value
MsgBox rngZelle(ActiveCell).Address
End Sub

Function rngZelle(rngBereich) As Range
Set rngZelle = rngBereich
End Function
Gruß, NoNet
AW: Ist unlogisch ! - Aber lass mal "as Range" weg
walter

Hallo NoNet,
habe jetzt nochmals Deinen Code, original von dieser Seite kopiert und eingefügt, und ....
es funzt ---> Danke
(hatte vorher bereits ebenfalls keine (bewußten) Veränderungen vorgenommen, :-(( , evtl. Kopierfehler ?)
Auch Dein zweiter Code klappt:
erste Ausgabe: Lagerplatz
zweite Ausgabe: absolute Angabe A1
Also, erstmal alles bestens, mit Dank nochmals
Gruß und schönes Wochenende
Walter
Anzeige
AW: Nur sichtbare Zellen in gefilterter Liste
16.10.2009 13:19:01
walter
Hallo NoNet,
mit Dank erstmal, hatte allerdings nur mit einer Zeile gerechnet.
wird getetstet
Gruß
Walter
AW: sprung zur zweiten sichtbaren Zelle in spalte d
16.10.2009 14:33:04
walter
Hallo NoNet,
doch noch ne Frage:
Wie muß ich die function einbauen ? in ein eigenes Modul ?
Danke für Info
Gruß
Walter
Ja, alles in ein allgemeines Modul _oT
16.10.2009 14:35:45
NoNet
_oT = "ohne Text"
AW: Ja, alles in ein allgemeines Modul _oT
16.10.2009 15:09:53
walter
Hallo Nonet,
sorry, Fehlermeldung:
erwartet Anweisungsende und markiert as range in der ersten function Zeile
Hast Du evtl. ne Idee
Danke
Walter
Ist unlogisch ! - Aber lass mal "as Range" weg
16.10.2009 16:21:55
NoNet
Hallo Walter,
eigentlich dürfte hier keine FM erscheinen, wenn Du den Code 1:1 kopiert hast (hast Du doch, oder ? ;-).
"Zur Not" kannst Du die Typendeklaration "As Range" auch weglassen.
Teste auch mal folgenden Code - tritt hier auch ein Fehler auf ?
Sub TestBereich()
[A1].Select
MsgBox rngZelle(ActiveCell).Value
MsgBox rngZelle(ActiveCell).Address
End Sub

Function rngZelle(rngBereich) As Range
Set rngZelle = rngBereich
End Function
Gruß, NoNet
Anzeige
AW: Ist unlogisch ! - Aber lass mal "as Range" weg
16.10.2009 16:46:12
walter
Hallo NoNet,
habe jetzt nochmals Deinen Code, original von dieser Seite kopiert und eingefügt, und ....
es funzt ---> Danke
(hatte vorher bereits ebenfalls keine (bewußten) Veränderungen vorgenommen, :-(( , evtl. Kopierfehler ?)
Auch Dein zweiter Code klappt:
erste Ausgabe: Lagerplatz
zweite Ausgabe: absolute Angabe A1
Also, erstmal alles bestens, mit Dank nochmals
Gruß und schönes Wochenende
Walter

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige