Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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
Inhaltsverzeichnis

Abgleich Sheet vorhanden in For Each

Abgleich Sheet vorhanden in For Each
13.09.2018 14:08:38
Bosche
Hallo zusammen,
ich habe folgendes Problem bzw. folgenden existierenden Code:

Private Sub CommandButton1_Click()
n = 3
For Each NeueTabelle In Worksheets("Aufträge").Range("B3:B100").Value
If Not IsEmpty(NeueTabelle) Then
Sheets("Maske").Copy After:=Sheets(Sheets.Count) 'Vorlagetabelle als letztes Blatt in die  _
Arbeitsmappe kopieren
Application.DisplayAlerts = False 'Rückfrage (nach dem Löschen einer bestehenden Tabelle)   _
unterdrücken
'Versuch, eine gleichnamige Tabelle zu löschen; bei Fehler (= Tabelle ohnehin nicht  _
vorhanden) einfach weitermache
On Error Resume Next: Sheets(NeueTabelle).Delete: On Error GoTo 0
Application.DisplayAlerts = True 'Systemeldungen wieder einschalten
Do While Cells(n, 3) = ""
n = n + 1
Loop
Application.CutCopyMode = False
Sheets("Aufträge").Cells(n, 3).Copy
Sheets(Sheets.Count).Select
Sheets(Sheets.Count).Cells(2, 1).Select
Sheets(Sheets.Count).Paste
n = n + 1
Do While Cells(n, 3) = ""
n = n + 1
Loop
Sheets(Sheets.Count).Name = NeueTabelle 'neue Tabelle (= letztes Blatt der Mappe)  _
umbenennen
End If
Next
Dim Zelle As Range
Dim rngSpalte As Range
Set rngSpalte = Range("B3:B73")
For Each Zelle In rngSpalte
If Zelle.Value  "" Then
Zelle.Hyperlinks.Add Zelle, "", "'" & Zelle.Value & "'!" & "A1"
End If
Next Zelle
End Sub
das alles funktioniert auch wunderbar, nur möchte ich jetzt am Anfang bei der For Each Schleife die Option einbauen, das überprüft wird ob in der Range B3:B1000 ein Value steht zu dem es bereits ein Sheet gibt, wenn dem so ist, soll er "überspringen" und im Ablauf mit den nächsten Werten fortfahren.
Vielen Dank für eure Hilfe.

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

Betreff
Datum
Anwender
Anzeige
AW: Abgleich Sheet vorhanden in For Each
15.09.2018 08:43:45
Gerd
Moin
Sub Blaetter_anlegen()
Dim A As Object, WS As Worksheet, Zelle As Range
Set A = CreateObject("scripting.dictionary")
For Each WS In ThisWorkbook.Worksheets
A.Add WS.Name, 0
Next
With ThisWorkbook
For Each Zelle In .Worksheets("Auftrag").Range("B3:B73")
If Zelle  "" Then
If Not A.exists(Zelle.Value) Then
.Worksheets("Muster").Copy after:=.Sheets(.Sheets.Count)
ActiveSheet.Name = Zelle.Value
ActiveSheet.Cells(2, 1) = Zelle.Offset(0, 1).Value
Zelle.Hyperlinks.Add Zelle, "", "'" & Zelle.Value & "'!" & "A1"
A.Add Zelle.Value, 0
End If
End If
Next
End With
A.RemoveAll
Set A = Nothing
End Sub

Gruß Gerd
Anzeige
AW: Abgleich Sheet vorhanden in For Each
17.09.2018 06:43:41
Bosche
Hallo,
der Code funktioniert wunderbar und ist auch um einiges schlanker als meiner.
Vielen Dank dafür.
Viele Grüße Alex

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige