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

Schleife+Funktion geht nicht

Schleife+Funktion geht nicht
30.10.2003 14:30:22
Steffen
Hallo,

ich brauche nochmal bitte Eure Hilfe:

Ich habe folgende Funktion:


Function TabelleVorhanden(TabellenName As String) As Boolean
Dim TB As Worksheet
TabelleVorhanden = False
For Each TB In Worksheets
If TB.Name = TabellenName Then
TabelleVorhanden = True
Exit For
End If
Next TB
End Function


Diese klappt in einem normalen Makro auch super, bei ich Sie aber in die Schleife:


Sub test()
'Blattschutz
Dim wkb As Workbook
Dim wks As Worksheet
For Each wkb In Workbooks
If TabelleVorhanden("Leer") = True Then
For Each wks In wkb.Worksheets
wks.Protect Password:=PSWDTP, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
Next wks
End If
Next wkb
End Sub


ein, so geht sie nicht mehr, ich möchte Sie aber gern als Funktion verwenden, da ich Sie in meheren Schleifen benötige, was mache ich falsch???

Danke Euch schonmal im voraus:

Steffen

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Sorry, aber kannst
30.10.2003 14:36:32
Steffen
Du mir vielleicht nochmal helfen?!

Wie gesagt ich brauche die Sache als Funktion, zum verwenden in verschiedenen Schleifen.

So wie Du das gemacht hast muss ich es in jeder Schleife, als "Mehr-Code" einfügen.

Danke Die schonmal

Steffen
AW: Sorry, aber kannst
30.10.2003 14:55:43
Michael Scheffler
Option Explicit


Sub TabTest()
Dim strGesucht As String
strGesucht = "test"
On Error Resume Next
Sheets(strGesucht).Select
If Err.Number <> 0 Then MsgBox "Tabelle " & strGesucht & " jibbet nicht", vbInformation
Err.Clear
End Sub

Anzeige
AW: Sorry, aber kannst
30.10.2003 15:00:33
ChrisL
Hi Steffen

Genau wie von Martin beschrieben. Hier eine mögliche Lösung...

Option Explicit


Function TabelleVorhanden(TabellenName As String, wkb As Workbook) As Boolean
Dim TB As Worksheet
TabelleVorhanden = False
For Each TB In wkb.Worksheets
If TB.Name = TabellenName Then
TabelleVorhanden = True
Exit For
End If
Next TB
End Function



Sub test()
'Blattschutz
Dim wkb As Workbook
Dim wks As Worksheet
For Each wkb In Workbooks
If TabelleVorhanden("Leer", wkb) = True Then
For Each wks In wkb.Worksheets
wks.Protect Password:=PSWDTP, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
Next wks
End If
Next wkb
End Sub


Gruss
Chris
Anzeige
AW: Schleife+Funktion geht nicht
30.10.2003 14:52:52
Martin Bolleter
Hallo Steffen

deine Funktion prüft nur die Tabellen des aktiven Workbook, in der Schleife gehst du aber über mehrere Workbooks, allerdings OHNE sie zu aktivieren!
Baue mal die Zeile
wkb.activate
ein, nach dem For Each wkb ...

Dann könnte es gehen.

Gruss
Martin
noch ne Frage,
30.10.2003 15:03:51
Steffen
ich gehe über mehere Workbooks dies ist richtig, aber dies muss geschehen OHNE sie
zu aktivieren, weil es schleifen gibt die ohne aktivieren funktionieren.

Wie kann ich dies machen?!

Danke Steffen
AW: noch ne Frage,
30.10.2003 15:22:32
Martin Bolleter
Hallo Steffen

dann musst du aus deiner Schleife das jeweilige Workbook an die Funktion übergeben, die Funktion muss natürlich entspr angepasst werden, damit sie damit was anfangen kann. zB so:


Function TabelleVorhanden(TabellenName As String, Wbook As Workbook) As Boolean
Dim TB As Worksheet
TabelleVorhanden = False
For Each TB In Wbook.Worksheets
If TB.Name = TabellenName Then
TabelleVorhanden = True
Exit For
End If
Next TB
End Function




Sub test()
'Blattschutz
Dim wkb As Workbook
Dim wks As Worksheet
For Each wkb In Workbooks
If TabelleVorhanden("Leer", wkb) = True Then
For Each wks In wkb.Worksheets
wks.Protect Password:=PSWDTP, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
MsgBox "ok"
Next wks
End If
Next wkb
End Sub


Gruss
Martin
Anzeige
danke geht jetzt prima
30.10.2003 16:11:24
Steffen
Ihr seit echt super.

BiBa

Steffen

288 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige