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

@Ramses u. a. VBA-Spezialisten: Code anpassen!

@Ramses u. a. VBA-Spezialisten: Code anpassen!
15.12.2004 10:38:44
Fritz
Hallo Rainer und ihr anderen VBA-Spezialisten,
vor einigen Tagen hat mir Rainer den nachfolgenden Code geschrieben, mit dem das in einer Datei vorhandene Tabellenblatt "TN" ggf. mehrfach kopiert und umbenannt wird. Wenn ich nun das Tabellenblatt "TN" ausblende und das Makro laufen lasse, werden die neu angelegten Tabellenblätter auch ausgeblendet, was ich jedoch nicht möchte.
Wie kann man das Makro entsprechend ändern, damit auch bei ausgeblendeter Quelltabelle ("TN") die neuen Tabellen eingeblendet erscheinen?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachtrag: Originalcode
Fritz
Option Explicit

Private Sub Worksheet_Deactivate()
Dim i As Integer, n As Integer
Dim lastTN As Integer
Dim qWks As Worksheet, tWks As Worksheet
Dim tnExist As Boolean
'Tabellenname anpassen !!
Set qWks = Worksheets("Daten")
lastTN = qWks.Range("E65536").End(xlUp).Row
For i = 4 To lastTN
tnExist = False
'Wenn in der Zelle nichts steht
'wird abgebrochen
If qWks.Cells(i, 5) = "" Then Exit Sub
For n = 1 To Worksheets.Count
If Worksheets(n).Name = qWks.Cells(i, 5) Then
tnExist = True
Exit For
End If
Next n
If tnExist = False Then
Worksheets("TN").Copy after:=Sheets(Worksheets.Count)
Set tWks = Worksheets(ActiveSheet.Name)
With tWks
.Name = qWks.Cells(i, 5).Value
.Range("A1") = qWks.Cells(i, 4).Text
.Range("b1") = qWks.Cells(i, 5).Text
End With
End If
Next i
End Sub

Anzeige
AW: Nachtrag: Originalcode
WernerB.
Hallo Fritz,
das sollte so funktionieren (ungetestet):

Private Sub Worksheet_Deactivate()
Dim i As Integer, n As Integer
Dim lastTN As Integer
Dim qWks As Worksheet, tWks As Worksheet
Dim tnExist As Boolean
'Tabellenname anpassen !!
Set qWks = Worksheets("Daten")
lastTN = qWks.Range("E65536").End(xlUp).Row
For i = 4 To lastTN
tnExist = False
'Wenn in der Zelle nichts steht
'wird abgebrochen
If qWks.Cells(i, 5) = "" Then Exit Sub
For n = 1 To Worksheets.Count
If Worksheets(n).Name = qWks.Cells(i, 5) Then
tnExist = True
Exit For
End If
Next n
If tnExist = False Then
Worksheets("TN").Copy after:=Sheets(Worksheets.Count)
Set tWks = Worksheets(ActiveSheet.Name)
With tWks
.Visible = True
.Name = qWks.Cells(i, 5).Value
.Range("A1") = qWks.Cells(i, 4).Text
.Range("b1") = qWks.Cells(i, 5).Text
End With
End If
Next i
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Nachtrag: Originalcode
Fritz
Hallo Werner,
das Ganze funktioniert prima, vielen Dank für die Hilfe.
Schönen Gruß
Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige