Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blätter als Excel-Objekte ansprechen

Forumthread: Blätter als Excel-Objekte ansprechen

Blätter als Excel-Objekte ansprechen
05.02.2007 12:42:16
Stefan
Hallo Ex(cel)perten,
ich habe nun doch endlich mitbekommen, dass ich Arbeitsblätter nicht nur über
Worksheet("Blattname").Select ansprechen kann, sondern auch direkt über den Codenamen Codename.Select Das hat den Vorteil, dass eine Umbenennung des Reiters durch den Anwender nicht stört.
Allerdings weiss ich nicht, das Problem eines gelöschten Blattes umgehen kann, weil schon beim Starten des Scriptes sagt: "Variable nicht definiert."
Hat jemand eine Lösung?
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blätter als Excel-Objekte ansprechen
05.02.2007 12:47:20
Rudi
Hallo,
schau mal nach On Error
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: Blätter als Excel-Objekte ansprechen
05.02.2007 13:23:11
Stefan
Hallo Rudi,
on Error steuert die Fehlerbehandlung bei laufender Prozedur.
Mein Fehler tritt schon bei der Kompilierung auf( gelber Balken bleibt auf "Sub Test" - zeile stehen. Nicht einmal der erste Befehl wird ausgeführt.)
Gruß Stefan.
Anzeige
AW: Blätter als Excel-Objekte ansprechen
05.02.2007 14:02:17
Rudi
Hallo,
eine Möglichkeit:

Sub tt()
Dim wks As Worksheet, mySheet As Worksheet, strCODENAME As String
strCODENAME = "tb2"
For Each wks In Worksheets
If wks.CodeName = strCODENAME Then Set mySheet = wks
Next
If mySheet Is Nothing Then
MsgBox strCODENAME & " gibbet nich."
Else
'Code
End If
End Sub

Oder als sehr schlechte Lösung: Option Explicit weglassen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: Blätter als Excel-Objekte ansprechen
05.02.2007 14:05:35
Stefan
Danke! Das klingt gut.
Stefan.
AW: Blätter als Excel-Objekte ansprechen
05.02.2007 18:50:14
firmus
Hi Stefan,
spricht etwas gegen eine Verarbeitung per Index?
Extrakt aus laufendem Makro:
For i = 2 To ActiveWorkbook.Sheets.Count 'name + maxzeil + maxspalt setzen
Sheets(i).Activate
Range("a1:ax1").Select
Selection.Copy
maxzeil = ActiveSheet.UsedRange.Rows.Count
maxspalt = ActiveSheet.UsedRange.Columns.Count
Sheets("counter").Select
ActiveCell.Value = i - 1
ActiveCell.Offset(0, 1).Value = Sheets(i).Name
ActiveCell.Offset(0, 2).Value = maxzeil
ActiveCell.Offset(0, 3).Value = maxspalt
ActiveCell.Offset(1, 0).Select
Next i
Gruß Firmus
Anzeige
AW: Blätter als Excel-Objekte ansprechen
06.02.2007 08:13:48
Stefan
Hallo Firmus,
erst einmal vielen Dank!
Ich habe in jeder Datei ein Blatt "Startseite", Codename "Allg01".
Dieses Blatt soll beim Öffnen der Arbeitsmappe aktiviert werden und in die Zelle A1 etwas hineingeschrieben werden.
Meine alte Variante:
For I=1 to Thisworkbook.Worksheets.Count
if Worksheets(I).Name="Startseite") then
Worksheets(I).Select
Cells(1)="Text"
End if
Next I
Nachteil: Beim Umbenennen der Startseite passiert nichts, Langer Code
Mit dem Objekt dachte ich so
With Allg01
.select
.cells(1)="Text"
End With
Vorteil: Auch eine umbenannte Startseite wird erkannt, kurzer Code.
Nachteil: Wenn die Startseite gelöscht wurde, startet das Makro gar nicht erst. "Variable unbekannt".
Gruß Stefan.
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige