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

Tabllen in Datei speichern nur Feste werte!

Tabllen in Datei speichern nur Feste werte!
29.03.2007 17:24:13
Ralph

Hallo liebe EXCELgemeinde.
Ich habe eine Datei ( Konfigurator) .xlt mit ca 15 Tabellen, aus dennen ich 2x je 6 Tabellen in eine neue Datei inkl. aller Formatierungen und Werte speichern möchte.
Ohne Formlen, Makros und nicht veränderbar.
Die Tabellen sind Blatt geschütz und sollen wieder geschütz werden.
Speicherung soll unter variablem Namen aus einer Zell und Datum auf Laufwerk c:\ als .xls-Datei erfolgen
Einige Zellen in der Original Datei (Konfigurator) sind zur Eingabe zu gelassen.- diese sollen nach dem Speichern nun geschütz und nicht Änderbar sein. (Hierunter befinden sich auch Felder mit bestimmten Gültigkeiten.).
Wie kann ich dies über einen Command Button erledigen.
Zusätzlich soll das aktuelle Datum und der Benutzernam auf einer bestimmten Tabelle aus diesen funktionenn aufgezeichnet werden.


Function BenutzerName()
'Funktion Benutzername
BenutzerName = Application.UserName
End Function

Function FileDate()
'Funktion File Datum
FileDate = FileDateTime(ThisWorkbook.FullName)
End Function

Ich hoffe es kann mir jemand eine Vorschlag machen. Ich habe bereits tausende von hier im Forum genutzen Lösungen probiert aber leider reichen meien Kenntniss hierfü nicht.
Vielen Dank im Voraus.
Ralph
PS: Ich werde leider erst heute gegen 20 Uhr wieder Antworten können.

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
29.03.2007 19:32:16
Franc
2 x 6 Tabellen ...
wie sieht das aus? Tabelle 1 - 6 = Datei1 und Tabelle 7 - 12 = Datei2 ?
Ansatz zum speichern und nur werte übernehmen + variabler name
ThisWorkbook.Activate
quellbuch = ThisWorkbook.Name
nameneu = Sheets("Tabelle2").Cells(1, 1) & " " & Date
Sheets(Array("Tabelle1", "Tabelle2")).Select
Sheets(Array("Tabelle1", "Tabelle2")).Copy
ThisWorkbook.Activate
quellbuch = ThisWorkbook.Name
nameneu = Sheets("Tabelle2").Cells(1, 1) & " " & Date
Sheets(Array("Tabelle1", "Tabelle2")).Select
Sheets(Array("Tabelle1", "Tabelle2")).Copy
For s = 1 To Sheets.Count
Sheets(s).Unprotect Password:="xy"
Sheets(s).Select
Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
Range("A1").Select
Sheets(s).Protect Password:="xy"
Next
ActiveWorkbook.SaveAs Filename:="C:\" & nameneu & ".xls"
Windows(quellbuch).Activate
Sheets(Array("Tabelle1")).Select
------------------------
Wohin soll der Benutzername + Datum gespeichert werden?
Im Grunde geht das einfach mit (entsprechend tabellenname anpassen)
Sheets("Tabelle1").Range("A65000").End(xlUp).Offset(1, 0) = Application.UserName
Sheets("Tabelle1").Range("B65000").End(xlUp).Offset(1, 0) = Date

Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
29.03.2007 19:34:07
Franc
ähm ja, kommentare zu den zeilen vergessen.
Am besten beispielmappe posten und wenn es geht genauere Beschreibung welche Tabellen in welche Mappe kopiert werden sollen und wo die variablen Dateinamen stehen
AW: Tabllen in Datei speichern nur Feste werte!
29.03.2007 21:07:14
Ralph
Hallo Franc,
erstmal Danke für deien Hilfe.
Also vielleicht nochmal zur Erklärung.
Ich habe eine Datei Gesamt 15 Tabellen (allen in Abhängigkeit).
Nun möchte ich zwei Buttons haben.
1. Button soll 6 der Tabellen in feste Werte, ohne Formeln und nicht wieder änderbar (Zellschutz + Blattschutz) wandelt
-(Formatierung solte erhalten bleiben)
und diese dann in eine Datei speichern ( Name der Datei steht in einer Zelle (AU3) in der 1. Tabelle.
- Dieser Name und das aktuelle Datum, sowie der Benutzername sollen auf die erste Tabelle der neuen Datei ab Zeile A50 bis A53 geschrieben werden.
(Es sollen kein code, Macro usw. übernommen werden)
Der 2. Button soll die gleiche funktion haben nur mit 6 anderen Tabellen.
Sorry aber ich bin bis jetzt noch nicht dazu gekommen deine Code genau zu testen. Aber vielleicht ist diese Beschreibung besser als die erste.
Ich hoffe Du kannst mir hierbei weiterhelfen.
Leider kann ich die Datei nicht posten.
Vielen Dank
Gruss
Ralph
Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 01:03:02
Franc
Das sollte es sein ^^
Beim neuen Mappennamen musst dann eventuell noch ne 1 und 2 einfügen, ansonsten überschreibst du die Datei mit den anderen Tabellen
Das mit nichts anklicken funktioniert nicht wirklich. Die Mappe ist zwar geschützt aber wenn das Buch geschlossen und neu geöffnet wird, kann man wieder was anklicken ... evtll weiß wer anders Rat (man kann aber nix ändern)
Die Zeile Sheets(Array(1, 2, 3, 4, 5, 6)).Copy entsprechend den Tabellenblättern anpassen.
Die Zahlen entsprechen dem Blatt in der Qellmappe
Du kannst auch Zeile Sheets(Array(2, 4, 5, 8, 9, 12)).Copy nehmen (wie du halt willst)
Sub kopieren()
Dim NameNeu As String
'die Mappe in der das Makro steht aktivieren
ThisWorkbook.Activate
'neuer Mappenname = Zellinhalt von AU3 und Leerzeichen und Datum
NameNeu = Sheets(1).Range("AU3").Value & " " & Date & ".xls"
'Neue Mappe wird erstellt und Blätter 1 - 6 eingefügt (Wert entsprechend anpassbar)
Sheets(Array(1, 2, 3, 4, 5, 6)).Copy
Sheets(1).Range("A50") = "C:\" & NameNeu & ".xls" 'kompletter neue Name
Sheets(1).Range("A51") = Date ' Datum
Sheets(1).Range("A52") = Application.UserName 'Benutzername
For s = 1 To Sheets.Count
Sheets(s).Select 'nacheinander die Blätter abarbeiten
'die nächsten Zeilen kopieren den genutzten Bereich und fügen nur die Werte wieder ein
Range("A1", ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
Range("A1").Select
'verhindert das auswählen aber funktioniert nicht wenn erneut geöffnet wird
Sheets(s).EnableSelection = xlNoSelection
'anstatt "kennwort" das gewüschte eintragen
Sheets(s).Protect Password:="kennwort", Scenarios:=True, UserInterfaceOnly:=True
Next
Sheets(1).Select
ActiveWorkbook.SaveAs Filename:="C:\" & NameNeu 'Mappe speichern
ActiveWorkbook.Close 'neue Mappe schließen
End Sub

Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 01:06:36
Franc
und doch was vergessen ^^
sollten die Ursprungsblätter ein Kennwort haben, muss man nach dem kopieren erstmal den Schutz entfernen.
.
.
For s = 1 To Sheets.Count
Sheets(s).Select
Sheets(s).Unprotect Password:="kennwort"

.
.
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 08:52:31
Ralph
Hallo Franc,
danke für die späte Antwort.
Habe es gerade einmal Probiert.
Es wird ein Kopie in neu Mappe erstellt. - Allerdings bekomme ich folgenden Fehlermeldung:
Fehler beim Kopilieren / Sub oder Function nicht definiert
Dies kommt wahrscheinlich von Tabell1 weil dieser code mit übernommen wird. Und der dazu gehöriger Makro fehlt.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As range)
' Wenn AI13=7 (Multipolstecker) dann Macro LöscheEinAus
If Target.Count = 1 Then
If Target.Address = "$AI$13" And Target.Value = 7 Then
Application.EnableEvents = False
Call LöscheEinAusModule
Application.EnableEvents = True
End If
'   erstellt von Hajo.Ziplies@web.de  16.08.03
'   alle Buchstaben Groß in einem bestimmten Bereich
Dim RaBereich As range, RaZelle As range
Application.EnableEvents = False
'   Bereich der Wirksamkeit
Set RaBereich = range("AO13:BM13")
'    ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
RaZelle.Value = UCase(RaZelle.Value)
End If
Next RaZelle
Application.EnableEvents = True
'    ActiveSheet.protect
Set RaBereich = Nothing
End If
End Sub
Kann man das verhindern.
Danke
Gruss Ralph
Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 09:06:53
Ralph
Hallo Franc,
beim weiteren Probieren haben ich noch folgendes Probelm.
Es werden auch die auf den einzelnen Tabellen verfügbaren Command-Button inkl. Code übernommen
- Nur laufen die ja ins leere (da Macros fehlen).
Die Command-Button will ich nicht mit kopieren.
Dann weiss ich nicht wie ich das realisieren kann, dass in der neuen Mappe alle Zellen mit einem Zellschutzt versehen werde so das keiner mehr ein Änderung vornehmen kann. Es sind allerdings einige Zellen mit einer Gültigkeit hinterlegt- Momentan kann ich diese noch Ändern.
Vielleicht hast Du hier zu noch eine Idee.
Sorry ich weiss , es wird immer mehr von meiner Seite.
VIELEN DANKE nochmals.
Gruss
Ralph
Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 12:13:28
Franc
- Changeereignis wird für während des NMakros gestoppt
- Buttons werden gelöscht
- Die Zellen werden mit dem schreibschutz versehen, so das sie nach dem Blatt schützen nicht doch ausgewählt werden können
PS: Hab das Makro jetzt nicht getestet aber sollte keine Probs geben
Sub kopieren()
Dim NameNeu As String
Application.EnableEvents = False 'verhindern, das ChangeEreignis aufgerufen wird
'die Mappe in der das Makro steht aktivieren
ThisWorkbook.Activate
'neuer Mappenname = Zellinhalt von AU3 und Leerzeichen und Datum
NameNeu = Sheets(1).Range("AU3").Value & " " & Date & ".xls"
'Neue Mappe wird erstellt und Blätter 1 - 6 eingefügt (Wert entsprechend anpassbar)
Sheets(Array(1, 2, 3, 4, 5, 6)).Copy
Sheets(1).Range("A50") = "C:\" & NameNeu & ".xls" 'kompletter neue Name
Sheets(1).Range("A51") = Date ' Datum
Sheets(1).Range("A52") = Application.UserName 'Benutzername
For s = 1 To Sheets.Count
Sheets(s).Select 'nacheinander die Blätter abarbeiten
'die nächsten Zeilen kopieren den genutzten Bereich und fügen nur die Werte wieder ein
Range("A1", ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
Selection.Locked = True 'Zellen im ausgewählten Bereich schützen
Range("A1").Select
'Alle Buttons löschen
For Each b In Sheets(s).Buttons
b.Delete
Next
'verhindert das auswählen aber funktioniert nicht wenn erneut geöffnet wird
Sheets(s).EnableSelection = xlNoSelection
'anstatt "kennwort" das gewüschte eintragen
Sheets(s).Protect Password:="kennwort", Scenarios:=True, UserInterfaceOnly:=True
Next
Sheets(1).Select
ActiveWorkbook.SaveAs Filename:="C:\" & NameNeu 'Mappe speichern
ActiveWorkbook.Close 'neue Mappe schließen
Application.EnableEvents = True 'Option wieder aktivieren
End Sub

Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 16:45:23
Ralph
Hallo Franc,
habe mal eingehen getestet. Funktioniert soweit gut.
Bis auf folgenden Punkte , aber evtl. liegt an mir.
1. Aus Zelle AU3 wird kein Name übernommen !
- vielleicht liegt es dran das AU3 ein Bereich ist von AU3:BE3 (verbundene Zellen)
2. Ich muss den Blattschutz an anfang ja ausschalten , aber wie ?
- Sheets(s).UnProtect Password:="kennwort", Scenarios:=True, UserInterfaceOnly:=True
3. Ich bekomme die Fehlermeldung auf Blatt 3 " Sollen die Inhalte des Zeilbereiches überschrieben werden ?
- Auf diesem Baltt ist eine Zeichnung ( Bild. jpg) und ein paar Felder die aus andren tabellen gefüllt werden.
4. Alle Command Buttons , Check Boxen und naturlich der Code in den einzelenen Tabellen wird noch mit kopiert
- Woran kann das liegen ???
Ich weiß das sind eine menge Frage und wenn ich dieses Projekt nicht angenommen hätte und wirklich was dran hängt hätte ich mir diese nicht freiwillig angetan.
Leider kann ich die Mappe nicht hochladen. (Vertrauliche Infos und so...)
Ich hoffe Du findest nochmal die Zeit mir zu helfen.
Besten Dank
RALPH
Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 17:02:53
Ralph
Hallo Franc,
sorry für blöden Fragen.
Punke 1 habe ich hinbekommen.
Punkt 2 Blattschutz hast Du mir ja bereits geschreiben.
- For s = 1 To Sheets.Count
Sheets(s).Select
Sheets(s).Unprotect Password:="KENNWORT"
Zu Punkt 3 und 4 habe ich kein Idee!
Hoffe Du kannst mir nochmal helfen.
- Ich komme langsam wirklich in Zeitdruck.
Habe noch den Speichern unter dialog aufgerufen und lasse die neue Mappe nicht selbst schließen.
Hier nochmal kmpl. code.

Sub kopieren()
Dim NameNeu As String
Application.EnableEvents = False 'verhindern, das ChangeEreignis aufgerufen wird
'die Mappe in der das Makro steht aktivieren
ThisWorkbook.Activate
'neuer Mappenname = Zellinhalt von AU3 und Leerzeichen und Datum
NameNeu = Sheets(2).range("AU3").Value & "_" & Date & ".xls"
'Neue Mappe wird erstellt und Blätter 2 - 6 eingefügt (Wert entsprechend anpassbar)
Sheets(Array(2, 3, 4, 5, 6)).Copy
' Blattschutz aufheben
For s = 1 To Sheets.Count
Sheets(s).Select
Sheets(s).Unprotect Password:="KENNWORT"
Next
Sheets(1).range("A50") = NameNeu & ".xls" 'kompletter neue Name
Sheets(1).range("A51") = Date ' Datum
Sheets(1).range("A52") = Application.UserName 'Benutzername
For t = 1 To Sheets.Count
Sheets(t).Select 'nacheinander die Blätter abarbeiten
'die nächsten Zeilen kopieren den genutzten Bereich und fügen nur die Werte wieder ein
range("A1", ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
Selection.Locked = True 'Zellen im ausgewählten Bereich schützen
range("A1").Select
'Alle Buttons löschen
For Each b In Sheets(t).Buttons
b.Delete
Next
'verhindert das auswählen aber funktioniert nicht wenn erneut geöffnet wird
Sheets(t).EnableSelection = xlNoSelection
'anstatt "kennwort" das gewüschte eintragen
Sheets(t).Protect Password:="KENNWORT", Scenarios:=True, UserInterfaceOnly:=True
Next
Sheets(1).Select
'Einbelenden des Speichern unter dialogs
Application.Dialogs(xlDialogSaveAs).Show (strPfad) & (NameNeu)
'ActiveWorkbook.SaveAs Filename:="D:\" & NameNeu 'Mappe speichern
'ActiveWorkbook.Close 'neue Mappe schließen
Application.EnableEvents = True 'Option wieder aktivieren
End Sub

Anzeige
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 17:33:48
Franc
ich schreib dir nen neues makro was anders funktioniert ^^
kann allerdings bissi dauern, weil ich auf arbeiut immer nur ganz kurz zeit habe
AW: Tabllen in Datei speichern nur Feste werte!
30.03.2007 17:37:35
Ralph
Hallo Franc,
danke!
Gerne warte ich.
Bin heute lange online.
DANKE!
Ralph
sollen die Bilder erhalten bleiben?
30.03.2007 18:35:28
Franc
wie im Betreff ^^
Also alles weg oder Bilder beibehalten und nur die Buttons/Controllkästchen weg?
AW: sollen die Bilder erhalten bleiben?
30.03.2007 19:46:21
Ralph
hallo franc,
sorry für die späte antwort.
die bilder müssen bleiben . alles andere weg.
gruss
ralph
AW: sollen die Bilder erhalten bleiben?
30.03.2007 21:25:22
Franc
das nachfolgende sieht ziemlich chaotisch aus und für excel vba profis ist das sicher auch zum hände übern kopf schlagen aber ich weiß grad net, wie man es besser lösen sollte ^^
- bei mir funktioniert das mit dem namen auch dann, wenn der Bereich AU3:BE3 verbunden ist.
Klick am besten mal auf die Zelle und schau nochmal, was da oben links als zellname angezeigt wird.
- Die Commandbuttons und Kontrollkästchen werden zwar mitkopiert aber sollten normal in der neuen Mappe gelsöcht werden.
schau mal ob das besser funktioniert ^^
sollte dasMakro mittendrin stoppen, führe einmal das hier aus, damit etwaige Bildschirmmeldungen etc wieder angezeigt werden.

Sub meldungenzeigen()
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Falls es nicht funktioniert auf debuggen klicken und mir sagen, an welcher stelle es hängen bleibt.
Bei mir funktioniert immer alles aber ich weiß auch ncht, was alles in deiner Datei enthalten ist und evtll stört.

Sub kopieren()
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
nameneu = Sheets(1).Range("AU3").Value & " " & Date
qb = Array(2, 3, 4, 5, 6)  'Die zu kopierenden Seiten
ab = UBound(qb) 'Anzahl Blätter von qb ermitteln
Workbooks.Add
neubuch = ActiveWorkbook.Name
fb = ab - Workbooks(neubuch).Sheets.Count + 1 'fehlende Blätter
For n = 1 To fb
Workbooks(neubuch).Sheets.Add
Next
For i = 1 To Sheets.Count
Sheets(i).Name = i
Next
For s = 0 To UBound(qb)
Debug.Print s
ThisWorkbook.Sheets(qb(s)).Range("A:IV").Copy
Workbooks(neubuch).Sheets(s + 1).Select
Range("A1").PasteSpecial
Range("A1", ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
Selection.Locked = True
ActiveSheet.Buttons.Delete
ActiveSheet.CheckBoxes.Delete
Range("A1").Select
ActiveSheet.Name = ThisWorkbook.Sheets(qb(s)).Name
ActiveSheet.Protect Password:="kennwort", Scenarios:=True, UserInterfaceOnly:=True
Next
Sheets(1).Select
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
ActiveWorkbook.SaveAs Filename:="C:\" & nameneu & ".xls" 'Mappe speichern
End Sub

Anzeige
AW: sollen die Bilder erhalten bleiben?
31.03.2007 00:10:45
Ralph
Hallo Franc,
danke für die Antwort.
Funktionier soweit ganz gut.
Bis darauf das
1. nun auch alle Bilder weg sind -- Die sollen mit kopiert werden.
2. Die Anzeigengröße (Zoom) von der Orginal datei 75 wieder auf 100 % gesetzt wird
3.Die Gitternetzlinien wieder eingeblendet werden.
4. Der Blattschutz beim start nicht aufgehoben wird
Vielleicht kannst Du mir dabei noch helfen.
Aber Danke für die viele Mühe die ich Dir gemacht habe!
Danke & gute Nacht
Ralph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige