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

Drucken

Drucken
05.03.2007 14:00:42
Horst
Hallo,
ich will mehrere Tabellenblätter markieren, da diese Blätter später gedruckt werden sollen.
Leider klappt Worksheets(I).Name.Select nicht. (Fehler:Objekt erforderlich)
Weiß jemand wie ich das richtig machen kann
For I = 1 To Worksheets.Count '
'Wenn an der 3.letzten Stelle des Blattnamens ein _ steht, dann das Blatt markieren
If Mid(Worksheets(I).Name, Len(Worksheets(I).Name) - 2, 1) = "_" Then
Worksheets(I).Name.Select
End If
Next
Vielen Dank im Voraus
Gruß Horst

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

Betreff
Datum
Anwender
Anzeige
AW: Drucken
05.03.2007 14:11:00
Horst
Sorry,
den ersten Fehler habe ich selbst gefunden. Es muss natürlich so heißen.
Worksheets(I).Select
Aber trotzdem werden nun nicht alle Blätter, sondern (natürlich) nur das letzte Blatt slectiert.
Wie kann ich erreichen, dass alle Blätter slectiert werden.
Gruß Horst
AW: Drucken
05.03.2007 14:26:00
OttoH
Hallo Horst,
hier ein Ansatz: Sheets(Array("Tabelle6", "Tabelle4", "Tabelle2")).Select
Gruß OttoH
AW: Drucken
05.03.2007 14:37:00
Horst
Hallo Otto,
über Makro aufzeichnen bin ich auch auf diese Lösung gekommen.
Aber leider komme ich nicht darauf, wie ich das in meinen Code umsetzen kann.
z.B.
Array.Worksheets(I).Select funktioniert nicht.
Trotzdem vielen Dank für Deine Mühen.
Gruß Horst
Anzeige
AW: Drucken
05.03.2007 14:35:46
EtoPHG
Hallo Horst,
Vielleicht funktioniert's ja so ? Allerdings, würd ich sagen nur für eine Excelversion 97 und höher!

Sub versiv()
Dim ws As Worksheet
Dim arrSelectThis As Variant
Dim ix As Integer
ReDim arrSelectThis(ThisWorkbook.Worksheets.Count)
For Each ws In ThisWorkbook.Worksheets
If Left(Right(ws.Name, 3), 1) = "_" Then
arrSelectThis(ix) = ws.Name
ix = ix + 1
End If
Next
ReDim Preserve arrSelectThis(ix - 1)
ThisWorkbook.Worksheets(arrSelectThis).Select
End Sub

Gruss Hansueli
AW: Drucken
05.03.2007 15:38:00
Horst
Hallo Hansuelli,
Super, das klappt genau so wie ich es will.
Vielen vielen Dank.
Nun muss ich nur noch den Code verstehen (Man will ja was lernen).
Nochmals vielen Dank
Gruß Horst
Anzeige
einfacher
05.03.2007 18:47:16
Kurt
Hi,
Sub Alle_mit_()
Dim Ws As Worksheet
For Each Ws In Worksheets
If Right(Ws.Name, 1) = "_" Then Ws.Select False
Next
End Sub

mfg Kurt
AW: einfacher und falsch OwT
05.03.2007 19:46:00
EtoPHG
Uns was? Klär mich auf. oT
05.03.2007 19:49:00
Kurt
oT
AW: Uns was? Klär mich auf. oT
05.03.2007 19:49:54
Kurt
o
AW: Uns was? Klär mich auf. oT
05.03.2007 19:55:18
EtoPHG
Hallo Kurt,
Verschiedenes:
1. Der Underline ist nicht am Schluss
2. Das aktive Sheet wird mitselektiert
3. Die Objektreferenzen fehlen, d.h. ActiveWorkbook wird vorausgesetzt.
Aber vom Ansatz her OK, man könnte es ohne Array machen. Wollte dem Frager aber zeigen, wie das funktioniert. Den vielleicht will er am Schluss gar keinen Select, sondern z.B. ein Printout...
Gruss Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige