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

VBA Code abändern!

VBA Code abändern!
28.06.2006 17:54:49
Fritz
Hallo VBA-Experten,
der nachstehende Code legt von der Tabelle "Ergebnisse" eine Kopie unter dem Namen des Zellwertes "B1" an, sofern eine Tabelle mit dieser Bezeichnung nicht existiert. Ändert sich der Text(-Wert) in "B1" wird möglicherweise eine weitere Kopie in die Arbeitsmappe eingefügt, sofern diese Tabelle noch nicht existiert. In diesem Fall bleiben die durch dieses Makro bereits angelegten Tabellen (mit ihrem Namen) in der Arbeitsmappe zwar erhalten, ihr Inhatl entspricht jedoch immer dem Inhalt der "zuletzt" angefertigten Kopie.
Das Makro sollte aber so geändert werden, dass frühere Kopien auch mit ihrem Inhalt bestehen bleiben.
Vielen Dank für Eure Unterstützung!
Gruß
Fritz

Sub MitgliederErgebnisse_anlegen()
Worksheets("Ergebnisse").Activate
ActiveSheet.Unprotect Password:="xxx"
Dim mysheet As Worksheet
Dim x As Boolean
cb = Cells(1, 2)
x = False
For Each mysheet In ActiveWorkbook.Worksheets
If mysheet.Name = cb Then
x = True
Else
End If
Next
If x = True Then
Else
Application.EnableEvents = False
Application.ScreenUpdating = False
Sheets("Ergebnisse").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = cb
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
ActiveSheet.Shapes("Button 6").Delete
End Sub

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

Betreff
Datum
Anwender
Anzeige
Werte kopieren
28.06.2006 20:15:42
Christoph
Hallo Fritz,
prinzipiell macht dein Code das, was du willst. Allerdings kopiert er alles, auch zB. Formeln, und daher werden je nach Formel auch die Werte auf deiner Kopie aktualisiert.
Um das zu vermeiden kannnst du zB nur die Werte und die Formate kopieren. Code s.u.
Gruß
Christoph
Option Explicit
Sub MitgliederErgebnisse_anlegen()
Dim sh As Worksheet, intCnt As Integer
Dim blnFnd As Boolean, strName As String
Application.EnableEvents = False
Application.ScreenUpdating = False
strName = Worksheets("Ergebnisse").Range("B1").Text
For intCnt = 1 To ThisWorkbook.Sheets.Count
If Sheets(intCnt).Name = strName Then
blnFnd = True
Exit For
End If
Next
If Not blnFnd Then
Set sh = Sheets.Add(, Sheets(Sheets.Count))
sh.Name = strName
Worksheets("Ergebnisse").Cells.Copy
sh.Range("A1").PasteSpecial xlPasteValues
sh.Range("A1").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Anzeige
Wunderbar!
28.06.2006 20:41:39
Fritz
Hallo Christoph!
Funktioniert wie gewünscht. Auch deine Infos find ich richtig Klasse!
Vielen Dank!
Schönen Abend noch
Gruß
Fritz
Schaltflächen in Kopie übernehmen
28.06.2006 21:06:09
Fritz
Hallo,
eben habe ich noch bemerkt, dass bei dem Code von Christoph die in der Tabelle "Ergebnisse" enthaltenen Schaltflächen in den Kopien nicht enthalten sind. Ich würde - wenn möglich die "Shapes" - mit Ausnahme des "Button 6" mit in die Kopie übernehmen. Kann man das realisieren?
Danke für die Hilfe!
Gruß
Fritz
Noch eine nicht gewünschter "Nebeneffekt"
28.06.2006 21:24:49
Fritz
Hallo Christoph,
beim Ausdruck der kopierten Tabelle habe ich noch einen (nicht gewünschten) Nebeneffekt deines Codes entdeckt. Auch die Seitenformate der "Kopie" stimmen nicht mit dem (kopierten) Original überein.
Wie kann man das ändern?
Schönen Gruß
Fritz
Anzeige
Gelöst
29.06.2006 09:13:32
Fritz
Hallo Christoph,
inzwischen konnte ich eine für mich brauchbare Lösung schaffen.
Aufgrund deines Hinweises habe ich ein über die Makroaufzeichnung erzeugten Code meinem ursprünglichen Code angefügt:
Per Makroaufzzeichnung habe ich zunächst die gesamte kopierte Tabelle komplett markiert, danach erneut kopiert und über "Einfügen - Inhalte einfügen - Werte" die enthaltenen Formeln "ausgeschaltet".
Nochmals vielen Dank für Deine Hilfe und Deinen Hinweis.
Gruß
Fritz
AW: Gelöst
29.06.2006 17:41:00
Christoph
Hallo Fritz,
ich war gestern leider nicht mehr online. Aber wie ich sehe, hast du einen Weg gefunden.
Die Idee ist gut.
Danke für's Feedback.
Gruß
Christoph
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige