Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
156to160
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
156to160
156to160
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Range-Befehl !?!

Range-Befehl !?!
04.09.2002 10:25:09
darwin
Hallo!
Bin hier ziemlich am verzweifeln... habe 2 sheets die ich mittels eines makros bearbeiten moechte. in beiden sollen spalten ein bzw. ausgebelendet werden, wenn in dem einen sheet auf einen button klicke. in diesem sheet klappt das auch wunderbar! aber in dem 2ten macht der befehl:
Range(Columns(ber_vorne_anfang), Columns(ber_vorne_ende)).Select
absoluten mist.
wobei in ber_vorne_anfang=6 steht und in ber_vorne_ende=29, er sollte ja spalte "F-AC" markieren. er makiert aber spalte
"E-AN"... warum??? daraufhin werden durch nachfolgende befehle spalten ausgeblendet, die sichtbar bleiben sollen!

Vielen Dank fuer Hilfe!!!

Gruss Darwin

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Range-Befehl !?!
04.09.2002 10:29:50
L.Vira
poste doch mal den code
Re: Range-Befehl !?!
04.09.2002 10:31:19
Harald Kapp
Hallo Darwin,
vielleicht hat das etwas mit folgendem Punkt zutun, den ich in der Excel-Hilfe gefunden habe:

"Bei Anwendung auf ein Range-Objekt verhält sich die Eigenschaft relativ zu dem Range-Objekt. Besteht die Auswahl beispielsweise aus der Zelle C3, so gibt Selection.Range("B1") Zelle D3 zurück, da sie sich relativ zu dem Range-Objekt verhält, das von der Selection-Eigenschaft zurückgegeben wird. Dagegen gibt der Code ActiveSheet.Range("B1") immer die Zelle B1 zurück."

Evtl. hilft es also, wenn Du den vollständigen Objektbezeichner verwendest.

Gruß Harald

Anzeige
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

Anzeige
Re: Range-Befehl !?!
04.09.2002 10:54:26
darwin
hallo!
hoffe der code ist nicht zu unleserlich...
danke fuer deine bemuehungen!
gruss darwin
Re: Range-Befehl !?!
04.09.2002 11:53:15
L.Vira
die syntax ist korrekt, wenn auch dein gesamter Code auch
ohne Select auskäme. Überprüf doch mal, welchen Wert die beiden Variablen an der Stelle haben.
Range(Columns(ber_vorne_anfang), Columns(ber_vorne_ende)).Select
Selection.EntireColumn.Hidden = True
Sheets("tracking sheet").Select
Re: Range-Befehl !?!
04.09.2002 12:11:09
darwin
habe ich schon!
das lustige ist, das die variablen die richtigen werte beinhalten, aber was falsches markiert wird...
ein bug von excel?

gruss darwin

Re: Range-Befehl !?!
04.09.2002 12:15:46
darwin
habe ich schon!
das lustige ist, das die variablen die richtigen werte beinhalten, aber was falsches markiert wird...
ein bug von excel?

gruss darwin

Anzeige
Re: Range-Befehl !?!
04.09.2002 12:17:43
L.Vira
was passiert, wenn du reale Zahlen statt der Variablen einsetzt?
hast du mal versucht, den Datentyp explizit zu erzwingen?
CInt(variable)
Re: Range-Befehl !?!
04.09.2002 13:01:42
darwin
hallo!
Habe es mit realen zahlen probiert. er markiert mir trotzdem
"E-AN" , sprich vorne eine zuviel und hinten 10 zuviel.
wie man datentypen erzwingt, weiss ich leider nicht...
gruss darwin
Re: Range-Befehl !?!
04.09.2002 15:19:53
L.Vira
hab doch gepostet:
CInt(Variable) für Ganzzahlen bis 2^15-1
CLng
CDbl
musst mal in der Hilfe schauen.
Bei deinem Problem hab ich keinen Schimmer, wie das zustande kommen soll.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige