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

Fenster dynamisch fixieren

Fenster dynamisch fixieren
Marcel
Hallo zusammen
Ist es möglich ein Fenster per VBA so zu fixieren, dass beim öffnen immer nur die letzten 4 Spalten auf der rechten Seite angezeigt werden egal wieviele Spalten sich in der Tabelle befinden?
Vielen Dank für eure Hilfe
Gruss Marcel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Fenster dynamisch fixieren
06.10.2009 13:25:26
Marcel
Wobei ich noch dazu sagen muss, dass bei jedem öffnen eine weitere Spalte dazu kommt. Spalte A und Zeile 1 sind fixiert.
Danke Gruss Marcel
AW: Fenster dynamisch fixieren
06.10.2009 23:35:06
Daniel
Hi
probiers mal so:
Private Sub Workbook_Open()
With ActiveSheet.UsedRange
ActiveWindow.ScrollColumn = .Column + .Columns.Count - 4
End With
End Sub
Gruß, Daniel
AW: Fenster dynamisch fixieren
06.10.2009 18:01:25
Tino
Hallo,
versuche es mal so, es werden beim öffnen nur die letzten 4 benutzten Spalten
(von der letzten aus gezählt) eingeblendet.
kommt als Code in DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_Open() 
Dim rLetzte As Range 
 
Application.ScreenUpdating = False 
    With ThisWorkbook.Sheets(Tabelle1.Name) 
        Set rLetzte = FindLetzte(Sheets(.Name)) 
        If rLetzte.Column > 4 Then 
         .Columns.EntireColumn.Hidden = True 
         .Range(.Columns(rLetzte.Column - 3), .Columns(rLetzte.Column)).EntireColumn.Hidden = False 
         Application.Goto .Cells(1, rLetzte.Column - 3), True 
        End If 
    End With 
Application.ScreenUpdating = True 
 
End Sub 
kommt als Code in Modul1
Option Explicit 
 
Function FindLetzte(mySH As Worksheet) As Range 
Dim LRow As Long, LCol As Long 
Dim A As Long 
  
 With mySH.UsedRange 
   On Error Resume Next 
        'Finde Zeile 
        LRow = .Find("*", , xlValues, xlWhole, xlByRows, xlPrevious, False, False).Row 
        LRow = Application.Max(LRow, .Find("*", , xlFormulas, xlWhole, xlByRows, xlPrevious).Row) 
        If LRow = 0 Then LRow = 1 
    
        'Finde Spalte 
        For A = .Columns(.Columns.Count).Column To .Columns(1).Column Step -1 
              LCol = mySH.Columns(A).Find("*", , xlValues, xlWhole, xlByRows, xlPrevious).Row 
              LCol = Application.Max(LCol, mySH.Columns(A).Find("*", , xlFormulas, xlWhole, xlByRows, xlPrevious).Row) 
              If LCol > 1 Then: LCol = A: Exit For 
        Next A 
        If LCol = 0 Then LCol = 1 
 End With 
  
 Set FindLetzte = mySH.Cells(LRow, LCol) 
End Function 
Gruß Tino
Anzeige
AW: Fenster dynamisch fixieren
08.10.2009 10:57:24
Marcel
Hallo
Vielen Dank für die Tipps.
Funktioniert beides sehr gut.
Gruss Marcel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige