Re: Range-Befehl !?!
04.09.2002 10:50:00
darwin
Sub Spalten_zurueck_Köpper()
' Makro zum automatischen ein - bzw. ausblenden
' von Spalten in "tracking sheet" und "Berechnungen" Dim vorne_anfang As Integer
Dim vorne_ende As Integer
Dim hinten_anfang As Integer
Dim hinten_ende As Integer
Dim ber_vorne_anfang As Integer
Dim ber_vorne_ende As Integer
Dim ber_hinten_anfang As Integer
Dim ber_hinten_ende As Integer
Dim anzahlAngezeigterWochen As Integer
Dim umSoVieleSpaltenVerschieben As Integer
' Wieviele Wochen sollen gleichzeitig angezeigt werden?
' zur gewünschten Anzahl 1 addieren
anzahlAngezeigterWochen = 16
' Um wieviele Spalten soll der angezeigte Bereich verschoben werden?
umSoVieleSpaltenVerschieben = 5
' Anfangs- und Endspalte der Kalenderwochen
vorne_anfang = 11
ber_vorne_anfang = 6
hinten_ende = 65
ber_hinten_ende = 60
' der Wert der letzten ausgeblendeten Spalte im vorderen Bereich ist
' im Sheet Berechnungen, Zelle "B62" gesichert
Sheets("Berechnungen").Select
ActiveSheet.Cells(62, 2).Select ' entspricht "B62" im sheet berechnungen
vorne_ende = Selection.Value
ActiveSheet.Cells(62, 3).Select ' entspricht "B63" im sheet berechnungen
ber_vorne_ende = Selection.Value
If ((vorne_ende - umSoVieleSpaltenVerschieben) >= vorne_anfang - 1) Then
' alle Spalten einblenden ->
Sheets("tracking sheet").Select
Range(Columns(vorne_anfang - 1), Columns(hinten_ende + 1)).Select
Selection.EntireColumn.Hidden = False
Sheets("Berechnungen").Select
Range(Columns(ber_vorne_anfang - 1), Columns(ber_hinten_ende + 1)).Select
Selection.EntireColumn.Hidden = False
Sheets("tracking sheet").Select
vorne_ende = vorne_ende - umSoVieleSpaltenVerschieben
ber_vorne_ende = ber_vorne_ende - umSoVieleSpaltenVerschieben
If (((vorne_anfang - 1) = vorne_ende)) Then GoTo überspringen
' vorderen Bereich - 5 weitere Spalten ausblenden
Range(Columns(vorne_anfang), Columns(vorne_ende)).Select
Selection.EntireColumn.Hidden = True
Sheets("Berechnungen").Select
"hier ist der Fehler!!!"
Range(Columns(ber_vorne_anfang), Columns(ber_vorne_ende)).Select
Selection.EntireColumn.Hidden = True
Sheets("tracking sheet").Select
überspringen:
' hinteren Bereich - 5 weitere Spalten ausblenden
' der Anfang des hinteren ausgeblendeten Bereichs ist das Ende des
' vorne ausgeblendeten Bereichs + die Anzahl der angezeigten Wochen
hinten_anfang = vorne_ende + anzahlAngezeigterWochen
Range(Columns(hinten_anfang + 1), Columns(hinten_ende + 1)).Select
Selection.EntireColumn.Hidden = True
Sheets("Berechnungen").Select
ber_hinten_anfang = ber_vorne_ende + anzahlAngezeigterWochen
Range(Columns(ber_hinten_anfang + 1), Columns(ber_hinten_ende + 1)).Select
Selection.EntireColumn.Hidden = True
Sheets("tracking sheet").Select
' Anfang des angezeigten Bereichs wieder im sheet berechnungen sichern
Sheets("Berechnungen").Select
ActiveSheet.Cells(62, 2).Select ' entspricht "B62" im sheet berechnungen
Selection = vorne_ende
ActiveSheet.Cells(62, 3).Select ' entspricht "B63" im sheet berechnungen
Selection = ber_vorne_ende
' Wechsel zum Ursprungssheet
Sheets("tracking sheet").Select
ActiveSheet.Cells(1, 9).Select
Else
' Wechsel zum Ursprungssheet
Sheets("tracking sheet").Select
ActiveSheet.Cells(1, 9).Select
MsgBox ("Anfang erreicht! Wenn noch weniger als 5 Spalten unaufgedeckt sind, bitte manuell aufdecken. Bitte auch im sheet Berechnungen.")
End If
End Sub