Herbers Excel-Forum - das Archiv

Workbooks(1).Activate läuft nicht

Bild

Betrifft: Workbooks(1).Activate läuft nicht
von: Erich
Geschrieben am: 24.09.2003 14:45:27
Hallo,

kann mir jemand bei folgendem Problem helfen? In einem Makro unter Excel 2000 läuft folgende Zeile
Workbooks(1).Activate
problemlos.
In der Schweiz läuft dieses komplett gleiche Makro unter Excel 2002 nicht durch. Der obige Befehl wird ignoriert und danach läuft das Makro auf Fehler, weil es die falsche Arbeitsmappe hat.

Vielen Dank im Voraus

Gruß
Erich

Bild

Betrifft: AW: Workbooks(1).Activate läuft nicht
von: ChrisL
Geschrieben am: 24.09.2003 14:53:31
Hi Erich

Kenne zwar das spezifische Problem nicht, aber auch hier gilt der alte Spruch... 'in 99 % aller Fälle kann auf Select und Activate' verzichtet werden.

wie schaut denn dein Code aus?

Gruss
Chris
Bild

Betrifft: xlstart ?
von: IngoG
Geschrieben am: 24.09.2003 14:59:12
Hallo Erich,

hast Du evt. einmal eine Datei in der xlstart, die ausgeblendet ist und einmal nicht?
wenn Du zB automatisch die personl.xls startest müßte diese die lfdNr 1 haben ?!

Gruß Ingo
Bild

Betrifft: AW: Workbooks(1).Activate läuft nicht
von: Erich
Geschrieben am: 24.09.2003 15:50:18
Hallo Chris,

der Code ist folgender:



Sub Budgetholen()
Application.ScreenUpdating = False
ActiveSheet.Visible = True
Sheets("Dateiname").Activate
spalte = Range("E1").Value
ChDir "Z:\Budget2003\Kostenplanung 2003"
Workbooks.Open Filename:= _
"Z:\Budget2003\Kostenplanung 2003\Kosten Gesamt 2003.XLS", UpdateLinks:=0
Sheets("KST 1").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets(Array("KST 1", "KST 2", "KST 3", "KST 4", "KST 5", "KST 6", "KST 7", "KST 8", _
"KST 9", "KST 10", "KST 11", "KST 12", "KST 13", "KST 14", "KST 15", "KST 16", "KST 17" _
, "KST 18", "KST 19", "KST 20", "KST 21", "KST 22", "KST 23", "KST 24", "KST 25")). _
Select
Sheets("KST 1").Activate
Sheets(Array("KST 26", "KST 27", "KST 28", "KST 29", "KST 30")).Select Replace:= _
False
'ActiveWindow.SmallScroll ToRight:=5
Range("H19").Select
ActiveCell.Offset(rowOffset:=0, columnOffset:=spalte).Activate
ActiveCell.Name = "AnfangSpalte"
ActiveCell.Offset(rowOffset:=15, columnOffset:=0).Activate
ActiveCell.Name = "EndeSpalte"
Range("AnfangSpalte:EndeSpalte").Select
Selection.Copy
'Windows("KST-Liste IS-CH mit Budget 2003-09.xls").Activate
Workbooks(1).Activate
Sheets("KST 1").Select
Sheets(Array("KST 1", "KST 2", "KST 3", "KST 4", "KST 5", "KST 6", "KST 7", "KST 8", _
"KST 9", "KST 10", "KST 11", "KST 12", "KST 13", "KST 14", "KST 15", "KST 16", "KST 17" _
, "KST 18", "KST 19", "KST 20", "KST 21", "KST 22", "KST 23", "KST 24", "KST 25")). _
Select
Sheets("KST 1").Activate
Sheets(Array("KST 26", "KST 27", "KST 28", "KST 29", "KST 30")).Select Replace:= _
False
Range("D11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
Windows("Kosten Gesamt 2003.XLS").Activate
Range("H35").Activate
Range("H35").Select
ActiveCell.Offset(rowOffset:=0, columnOffset:=spalte).Activate
ActiveCell.Name = "DreiFünf"
Application.CutCopyMode = False
Selection.Copy
'Workbooks("KST-Liste IS-CH mit Budget 2003-09.xls").Activate
Workbooks(1).Activate
Range("D28").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Kosten Gesamt 2003.XLS").Activate
Application.CutCopyMode = False
Range("H37").Activate
Range("H37").Select
ActiveCell.Offset(rowOffset:=0, columnOffset:=spalte).Activate
ActiveCell.Name = "DreiFünf"
Application.CutCopyMode = False
Selection.Copy
'Workbooks("KST-Liste IS-CH mit Budget 2003-09.xls").Activate
Workbooks(1).Activate
Range("D27").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Startseite").Select
Windows("Kosten Gesamt 2003.XLS").Activate
ActiveWindow.Close
Workbooks.Open Filename:= _
"Z:\Budget2003\Kostenplanung 2003\Kosten Gesamt 2003 kummuliert.XLS", _
UpdateLinks:=0
Sheets("KST 1").Select
Sheets(Array("KST 1", "KST 2", "KST 3", "KST 4", "KST 5", "KST 6", "KST 7", "KST 8", _
"KST 9", "KST 10", "KST 11", "KST 12", "KST 13", "KST 14", "KST 15", "KST 16", "KST 17" _
, "KST 18", "KST 19", "KST 20", "KST 21", "KST 22", "KST 23", "KST 24", "KST 25")). _
Select
Sheets("KST 1").Activate
Sheets(Array("KST 26", "KST 27", "KST 28", "KST 29", "KST 30")).Select Replace:= _
False
Range("H19").Select
ActiveCell.Offset(rowOffset:=0, columnOffset:=spalte).Activate
ActiveCell.Name = "AnfangSpalte"
ActiveCell.Offset(rowOffset:=15, columnOffset:=0).Activate
ActiveCell.Name = "EndeSpalte"
Range("AnfangSpalte:EndeSpalte").Select
Selection.Copy
'Workbooks("KST-Liste IS-CH mit Budget 2003-09.xls").Activate
Workbooks(1).Activate
Sheets("KST 1").Select
Sheets(Array("KST 1", "KST 2", "KST 3", "KST 4", "KST 5", "KST 6", "KST 7", "KST 8", _
"KST 9", "KST 10", "KST 11", "KST 12", "KST 13", "KST 14", "KST 15", "KST 16", "KST 17" _
, "KST 18", "KST 19", "KST 20", "KST 21", "KST 22", "KST 23", "KST 24", "KST 25")). _
Select
Sheets("KST 1").Activate
Sheets(Array("KST 26", "KST 27", "KST 28", "KST 29", "KST 30")).Select Replace:= _
False
Range("H11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
'Range("H28").Select
Application.CutCopyMode = False
Windows("Kosten Gesamt 2003 kummuliert.XLS").Activate
Range("H35").Activate
Range("H35").Select
ActiveCell.Offset(rowOffset:=0, columnOffset:=spalte).Activate
ActiveCell.Name = "DreiFünf"
Application.CutCopyMode = False
Selection.Copy
'Workbooks("KST-Liste IS-CH mit Budget 2003-09.xls").Activate
Workbooks(1).Activate
Range("H28").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1:J1").Select
Windows("Kosten Gesamt 2003 kummuliert.XLS").Activate
Application.CutCopyMode = False
Range("H37").Activate
Range("H37").Select
ActiveCell.Offset(rowOffset:=0, columnOffset:=spalte).Activate
ActiveCell.Name = "DreiFünf"
Application.CutCopyMode = False
Selection.Copy
'Workbooks("KST-Liste IS-CH mit Budget 2003-09.xls").Activate
Workbooks(1).Activate
Range("H27").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Kosten Gesamt 2003 kummuliert.XLS").Activate
ActiveWindow.Close
Sheets("Dateiname").Activate
ActiveSheet.Visible = False
Call Blaetterausblenden
Sheets("Startseite").Select
Application.ScreenUpdating = True
End Sub



Gruß
Erich
Bild

Betrifft: AW: Workbooks(1).Activate läuft nicht
von: GerdW
Geschrieben am: 24.09.2003 16:01:02
Teste doch mal, obs überhaupt deine gewünschte Mappe ist

msgbox workbooks(1).name

Gerd
Bild

Betrifft: AW: Workbooks(1).Activate läuft nicht
von: ChrisL
Geschrieben am: 24.09.2003 16:24:13
Hi Erich

Da hab ich mich mal wieder weit aus dem Fenster gelehnt, denn da gäbe es so einiges zum Ändern. :-)

z.B.
Sheets("KST 1").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets(Array("KST 1", "KST 2", "KST 3", "KST 4", "KST 5", "KST 6", "KST 7", "KST 8", _
"KST 9", "KST 10", "KST 11", "KST 12", "KST 13", "KST 14", "KST 15", "KST 16", "KST 17" _
, "KST 18", "KST 19", "KST 20", "KST 21", "KST 22", "KST 23", "KST 24", "KST 25")). _
Select
Sheets("KST 1").Activate
Sheets(Array("KST 26", "KST 27", "KST 28", "KST 29", "KST 30")).Select Replace:= _
False
'ActiveWindow.SmallScroll ToRight:=5
Range("H19").Select


Spontan scheint mir dass du einfach alle 30 Blätter selektierst. Du könnest z.B. alle 30 Blätter einmalig in einer Variable speichern auf die du bei Bedarf wieder zurück greiffen kannst.

Option Explicit



Sub t()
Dim i As Byte
Dim Arr(1 To 30) As Variant
For i = 1 To 30
Arr(i) = "KST " & i
Next i
Sheets(Arr).Select
End Sub



dann z.B.

Range("H35").Activate
Range("H35").Select
ActiveCell.Offset(rowOffset:=0, columnOffset:=spalte).Activate
ActiveCell.Name = "DreiFünf"


Cells(35, 8 + spalte).Name = "DreiFünf"

oder Kopieren kannst du z.B. so...

Workbooks("XY").Worksheets("Z").Range("A1").Copy Workbooks("AB").Worksheets("X").Range("A1")

Damit kannst du auf das Select beim Kopieren verzichten.

Gruss
Chris
Bild

Betrifft: AW: Workbooks(1).Activate läuft nicht
von: Erich
Geschrieben am: 24.09.2003 16:35:22
Hallo Chris,

vielen Dank für Deine Verbesserungen. Da merkt man halt doch den Fachmann. Aber dadurch lerne ich jeden Tag dazu. Ich werde diese Änderungen einbauen und vielleicht löst dies schon das Problem.

Gruß

Erich
 Bild