Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellinhalt prüfen; Code stoppen

Forumthread: Zellinhalt prüfen; Code stoppen

Zellinhalt prüfen; Code stoppen
31.08.2006 07:59:13
Erich
Hallo EXCEL-Freunde,
habe mit Hilfe des Forums nachstehenden Code, der bestimmte Namen der Tabellenblätter
in die spalte A als Liste mit Hyperlink einträgt. Da die Anzahl variabel ist,
habe ich jetzt das Problem, dass ein Eintrag dann unterbleiben soll, wenn
dadurch in Spalte A ein Zellinhalt "Gesamt" überschrieben werden soll.
Kann das innerhalb des Codes geprüft werden und dann gestoppt werden?
Beispiel: in Zeile 35 der Spalte A steht "Gesamt". Die Tabellenblätter sind
38 und würden deshalb bis unter die Zeile 34 eingetragen werden, 1 Zeile vor "Gesamt"
sollte aber gestoppt oder der Code mit einem Warnhinweis gar nicht ausgeführt werden.
Gesamt kommt in der Spalte A nur 1x vor. Evtl. könnte man ja die Zeilennummer
prüfen und dann die Tabellenblätter berechnen lassen? Der Code:

Sub Tabaktuell()
' by Boris von Herbers Forum
Dim i As Integer, k As Integer
For i = Worksheets("Beginn").Index + 1 To Worksheets("Ende").Index - 1
k = k + 1
With Worksheets("Gesamtübersicht")
.Cells(k + 2, 1) = Worksheets(i).Name
.Hyperlinks.Add anchor:=.Cells(k + 2, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1"
End With
Next i
End Sub

Besten Dank für eine Hilfe!
mfg
Erich
Private Tippgemeinschaft für Lotto oder Keno: http://www.kenostrategen.de
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt prüfen; Code stoppen
31.08.2006 08:18:06
IngGi
Hallo Erich,
so sollte bei zu wenig Platz eine Messagebox ausgegeben und das Makro abgebrochen werden:

Sub Tabaktuell()
' by Boris von Herbers Forum
Dim i As Integer, k As Integer
If Not Worksheets("Gesamtübersicht").Range("A:A").Find(what:="Gesamt") Is Nothing Then
If Worksheets("Ende").Index - Worksheets("Beginn").Index > _
Worksheets("Gesamtübersicht").Range("A:A").Find(what:="Gesamt").Row Then
MsgBox "Zu viele Tabellenblätter, bzw. zu wenig Platz! Makro wird abgebrochen."
Exit Sub
End If
End If
For i = Worksheets("Beginn").Index + 1 To Worksheets("Ende").Index - 1
k = k + 1
With Worksheets("Gesamtübersicht")
.Cells(k + 2, 1) = Worksheets(i).Name
.Hyperlinks.Add anchor:=.Cells(k + 2, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1"
End With
Next i
End Sub
Gruß Ingolf
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