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

Tabllen in anderem WB verstecken

Tabllen in anderem WB verstecken
18.10.2004 21:23:06
Peter
Hallo liebe Helfer,
mit untenstehendem Code lagere ich Daten in ein anderes Workbook aus und möchte in diesem neuen Workbook die beiden Tabellen "finanzdaten" und "kunden" mit xlVeryHidden verbergen...der Code funktioniert, aber die beiden Tabellen bleiben auf visible....wo liegt mein Fehler?

Sub RausUndWeg()
Dim myWorksheet As Worksheet
Sheets(Array("kunden", "finanzdaten", "Start")).Copy
For Each myWorksheet In ActiveWorkbook.Worksheets
myWorksheet.UsedRange = myWorksheet.UsedRange.Value
Next
ActiveWorkbook.SaveAs "C:\BBB\bbbkunden\" & UserForm5.TextBox2.Value
ChDir "C:\BBB\bbbkunden\" & UserForm5.TextBox2.Value
ActiveWorkbook.Sheets("finanzdaten").Visible = xlVeryHidden
ActiveWorkbook.Sheets("kunden").Visible = xlVeryHidden
Application.DisplayAlerts = False
ActiveWorkbook.Close
End Sub

Vielen Dank für Hilfe
Peter S.

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabllen in anderem WB verstecken
Udo
Erst Blätter ausblenden, dann speichern.
Udo
"Mein Gott Walter"...:))....klar Udo,..Danke o.T.
Peter
.
Ich bin zu doof dazu
Peter
Hallo Udo,
ich war vorhin wohl zu euphorisch....entweder bin ich zu müde oder zu blöd Deinen Vorschlag umzusetzen
Kannst du bitte hilfreich eingreifen?
Danke
Peter S.
AW: Ich bin zu doof dazu
Udo

Sub RausUndWeg()
Dim myWorksheet As Worksheet
Sheets(Array("kunden", "finanzdaten", "Start")).Copy
For Each myWorksheet In ActiveWorkbook.Worksheets
myWorksheet.UsedRange = myWorksheet.UsedRange.Value
Next
ActiveWorkbook.Sheets("finanzdaten").Visible = xlVeryHidden
ActiveWorkbook.Sheets("kunden").Visible = xlVeryHidden
ActiveWorkbook.SaveAs "C:\BBB\bbbkunden\" & UserForm5.TextBox2.Value
ChDir "C:\BBB\bbbkunden\" & UserForm5.TextBox2.Value
ActiveWorkbook.Close
End Sub

Udo
Anzeige
O.T. ich verstehe den Code nicht
Reinhard
Hallo @Alle,
dass der nachstehende Befehl schon ein neues Workbook erzeugt war/ist mir neu.
Sheets(Array("kunden", "finanzdaten", "Start")).Copy
aber das ginge ja noch, quasi wieder was gelernt:-)
Aber die nachstehende Schleife versteh ich gar nicht:-(
For Each myWorksheet In ActiveWorkbook.Worksheets
myWorksheet.UsedRange = myWorksheet.UsedRange.Value
Next
Welchen Sinn hat die denn?
Danke für das Interesse und hoffentliche Erläuterungen
Gruß
Reinhard
Ausprobieren... :-)
Ramses
Hallo Reinhard
Das ist so ziemlich die einfachste und eleganteste Variante Ergebnisse die aus Formeln entstanden sind in die natürlichen oder effektiven Werte zu überführen.
Schreib mal in die Zelle A1 "=5*5"
und lass den Code laufen

Sub test()
Dim myworksheet As Worksheet
For Each myworksheet In ActiveWorkbook.Worksheets
myworksheet.UsedRange = myworksheet.UsedRange.Value
Next
End Sub

Anschliessend betrachte dir nochmal das ERgebnis in A1 :-)
Gruss Rainer
Anzeige
So funzt es...aber noch ne Frage
Peter
Hallo an die Spezialisten,
also so wie nachstehend aufgeführt funktioniert der Code fehlerfrei...irre

Sub AbundWeg()
Application.ScreenUpdating = False
Sheets("finanzdaten").Visible = True
Sheets("kunden").Visible = True
Sheets("Start").Visible = True
Dim myWorksheet As Worksheet
Sheets(Array("kunden", "finanzdaten", "Start")).Copy
For Each myWorksheet In ActiveWorkbook.Worksheets
myWorksheet.UsedRange = myWorksheet.UsedRange.Value
ActiveWorkbook.Sheets("finanzdaten").Visible = xlVeryHidden
ActiveWorkbook.Sheets("kunden").Visible = xlVeryHidden
Next
ActiveWorkbook.SaveAs "C:\BBB\bbbkunden\" & UserForm5.TextBox2.Value
ActiveWorkbook.Close
Workbooks("bbb FinCheck.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("kunden", "finanzdaten", "Start")).Delete
ThisWorkbook.Saved = True
Application.ScreenUpdating = True
End Sub

Jetzt noch eine Frage dazu: Kann ich die neue Datei auch noch mit nem Passwort für den
VBA-Bereich versehen?
Danke
Peter S.
Anzeige
er sperrt das VBA-Projekt nicht?
Peter
Hallo liebe Helfer,
mit dem Code "

Sub Auslagern" lagere ich Daten in eine andere Datei aus und schließe
diese...klappt auch bestens....nun habe ich noch "call setzen" eingefügt, damit das VBA
Projekt der neuen Datei gesperrt ist.....bringt keine Fehlermeldung, aber sperrt leider
auch nicht?....Wer weiss da Rat?

Sub Auslagern()
Application.ScreenUpdating = False
Sheets("finanzdaten").Visible = True
Sheets("kunden").Visible = True
Sheets("Start").Visible = True
Dim myWorksheet As Worksheet
Sheets(Array("kunden", "finanzdaten", "Start")).Copy
For Each myWorksheet In ActiveWorkbook.Worksheets
myWorksheet.UsedRange = myWorksheet.UsedRange.Value
ActiveWorkbook.Sheets("finanzdaten").Visible = xlVeryHidden
ActiveWorkbook.Sheets("kunden").Visible = xlVeryHidden
Next
Call setzen
ActiveWorkbook.SaveAs "C:\BBB\bbbkunden\" & UserForm5.TextBox2.Value
ActiveWorkbook.Close
Workbooks("bbb FinCheck.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("kunden", "finanzdaten", "Start")).Delete
ThisWorkbook.Saved = True
Application.ScreenUpdating = True
End Sub


Sub setzen()
SendKeys "%{F11} %Xi{TAB 9}{RIGHT}{tab}a{tab}" & "Test" & "{TAB}" & "Test" & "{tab}{enter} %q"
End Sub

Danke für Euere Hilfe
Peter S.
Anzeige
Alles klar, danke dir :-) o.w.T
Reinhard

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige