Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
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
Tabellenblatt richtig abspeichern
19.10.2012 09:48:52
Heidi
Guten Morgen,
ich bräuchte bitte Hilfe. Ich habe eine Exceldatei mit mehreren Tabellenblättern.
Jetzt möchte ich die einzelnen Tabellenblätter abspeichern. Mein Makro funktioniert soweit, leider übernimmt er nicht alle Daten in den Zellen, warum?
Sub BlattSpeichern()
Dim sPath As String, sWks As String, sFile As String
Application.ScreenUpdating = False
sPath = Application.DefaultFilePath & "\"
sWks = InputBox( _
prompt:="Blattname", _
Default:="LK ")
If sWks = "" Then Exit Sub
sFile = InputBox( _
prompt:="Dateiname:", _
Default:="LK")
If sFile = "" Then Exit Sub
ActiveSheet.Copy
ActiveSheet.Name = sWks
Application.ScreenUpdating = True
End Sub
Vielen Dank im Voraus.

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt richtig abspeichern
19.10.2012 09:55:54
selli
hallo heidi
dein makro heißt zwar blattspeichern, aber mit keiner codezeile passiert das wirklich.
du kopierst lediglich das aktive blatt in die zwischenablage und springst dann zum blatt, dessen namen du in die erste inputbox eingegeben hast.
gruß
selli

AW: Tabellenblatt richtig abspeichern
19.10.2012 10:02:46
Heidi
Hallo,
okay, aber wie kann ich dann das Tabellenblatt extra kopieren - genau so wie es ist?
Ich wüsste leider nicht wie.
Vielleicht kannst du helfen?
Danke!

AW: Tabellenblatt richtig abspeichern
19.10.2012 10:08:56
selli
hallo heidi,
nochmal zum verständnis. im ersten beitrag sprichst du vom speichern und davon, dass das makro soweit funktioniert (tut es nicht). im zweiten beitrag sprichst du vom kopieren. ich weiß leider wirklich nicht, was du machen möchtest.
gruß
selli

Anzeige
AW: Tabellenblatt richtig abspeichern
19.10.2012 10:18:48
selli
hallo heidi,
folgender code speichert eine kopie deines blatte (nur des blattes) in den selben ordner, in der sich auch die arbeitsmappe mit dem zu kopierenden blatt befindet.
Sub BlattSpeichern()
Dim sPath As String, sWks As String, sFile As String
Application.ScreenUpdating = False
sPath = Application.DefaultFilePath
sWks = InputBox( _
prompt:="Blattname", _
Default:="LK")
If sWks = "" Then Exit Sub
sFile = InputBox( _
prompt:="Dateiname:", _
Default:=sPath & "LK")
If sFile = "" Then Exit Sub
ActiveSheet.Copy
ActiveSheet.Name = sWks
ActiveWorkbook.SaveAs sFile
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
gruß
selli

Anzeige
kleine korrektur
19.10.2012 10:25:45
selli
heidi,
wenn die tabelle im gleichen ordner gespeichert werden soll ersetze
sPath = Application.DefaultFilePath
durch
sPath = ThisWorkbook.Path
gruß
selli

AW: Tabellenblatt richtig abspeichern
19.10.2012 10:26:28
Heidi
Hallo Selli,
vielen Dank für die schnelle Hilfe. Das Tabellenblatt wird kopiert und abgespeichert. Leider übernimmt er nicht den ganzen Text in einer Zelle. Ich habe Zellen wo sehr viel Text steht und der fehlt in der gespeicherten Datei.
Woran kann das liegen?
Danke :-)

AW: Tabellenblatt richtig abspeichern
19.10.2012 10:32:18
selli
heidi,
das kann an den limits deiner excelversion liegen.
die liegen bei dir bei 256 zeichen pro zelle.
jetzt kann es zwar sein, dass du mehr reinschreiben kannst, wenn aber die zelle kopiert wird werden nur die ersten 256 zeichen der zelle zugeordnet.
vielleicht siehst du ja eine möglichkeit den inhalt vor dem kopieren auf mehrere zellen aufzuteilen.
gruß
selli

Anzeige
AW: Tabellenblatt richtig abspeichern
19.10.2012 10:35:25
Heidi
Hallo Selli,
gibt es denn keine Möglichkeit die Zellen so zu übernehmen?
Da wir sehr viele Tabellenblätter haben und auch andere Kollegen damit arbeiten, wäre es natürlich sehr umständlich die ganzen Zellen jedesmal vor dem Kopieren aufzuteilen.
Gruß

AW: Tabellenblatt richtig abspeichern
19.10.2012 10:37:39
selli
hallo heidi,
hast du mal eine beispielmappe?
gruß
selli

AW: Tabellenblatt richtig abspeichern
19.10.2012 10:55:55
selli
hallo heidi,
das vba-projekt deiner beispielmappe passwortgeschützt.
damit kann ich nichts anfangen.
gruß
selli

Anzeige
AW: Tabellenblatt richtig abspeichern
19.10.2012 11:07:34
selli
blattschutz

sehr aufwendig
19.10.2012 11:25:46
selli
hallo heidi,
das ganze blatt zu kopieren und zu speichern klappt so nicht.
man müsste, um die anzahl der zeichen pro zelle zu erhalten ein komplett anders makro verwenden, dass dann auch noch sehr aufwendig ist.
mein vorschlag: versuche die zeichenzahl unter 256 zu halten oder man speichert eine kopie der gesamten arbeitsmappe (mit allen tabellenblättern) und löscht die nicht gebrauchten blätter anschliessend.
gruß selli

Anzeige
AW: sehr aufwendig
19.10.2012 11:41:02
Heidi
Hallo Selli,
okay vielen lieben Dank, so werde ich es dann machen!
Schönes WE.

nicht gleich aufgeben
19.10.2012 12:10:43
selli
heidi,
der code speichert das aktuelle tabellenblatt als neue mappe mit namen des blattes im verzeichnis der originalmappe.
Sub BlattSpeichern()
Dim sPath As String, sWks As String, sFile As String
On Error Resume Next
Application.ScreenUpdating = False
sPath = ThisWorkbook.Path & "\"
sWks = ActiveSheet.Name
sFile = sPath & sWks & ".xls"
ActiveWorkbook.SaveCopyAs sFile
Application.DisplayAlerts = False
Set objWB = Workbooks.Open(sFile)
For i = objWB.Sheets.Count To 1 Step -1
If objWB.Sheets(i).Name  sWks Then
objWB.Sheets(i).Delete
End If
Next i
objWB.Save
objWB.Close False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
gruß
selli

Anzeige
AW: nicht gleich aufgeben
19.10.2012 12:17:14
Heidi
Hallo Selli,
ist das genial. Vielen lieben Dank für deine Mühe.
Toll und es funktioniert.
Schönes WE.

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige