Anzeige
Archiv - Navigation
988to992
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
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Teilbereich einer Arbeitsmappe speichern

Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:05:00
Anja
Guten Morgen!
Ich habe eine Excel-Datei mit ca. 50 Spalten und 1.000 Zeilen.
Sie enthält Informationen, die nur für mich sind, und Infos, die ich als Datei mehreren Kollegen zur Verfügung stellen muß.
In der Datei nehme ich oft Änderungen vor. Ich benötige somit immer eine aktuelle Version für mich und eine "abgespeckte" für meine Kollegen.
Ich möchte jetzt aber nicht immer die Spalten löschen, die nicht für meine Kollegen sind und dann unter einem neuen Namen speichern. Gibt es eine Möglichkeit, die Datei mit allen Zeilen, aber nur z.B. von Spalte A-AN zu speichern?
Ich freue mich auf eure Tips!!!
Schon jetzt vielen vielen Dank!
Guten Start in die neue "Fußballlose" Woche
Anja

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:11:00
Matthias
Hallo Anja,
können denn Makros verwendet werden?
können Deine KollegInnen die Datei ändern und speichern oder sollen sie nur Lesezugriff haben?
Gruß Matthias

AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:20:41
Anja
Hallo Matthias,
die Datei wird hier intern auf einem Laufwerk gespeichert, zu dem alle Zugriff haben. Die Datei kann aber nur von mir geändert und die Änderungen dann gespeichert werden. Meine Kollegen können sie aber z.B. auf ihren eigenen Rechner speichern und dann bearbeiten.
Makros fände ich nicht so toll, da die Datei per Mail auch an Lieferanten verschickt wird (weiß man, ob andere dann damit umghehen können?)
Gruß Anja

Anzeige
AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:29:57
Matthias
Hallo Anja,
man könnte die eine, vollständige Datei mit Makros ausstatten, welche dafür sorgen, dass beim Speichern automatisch eine zweite, abgespeckte Datei für die Kollegen erstellt wird (anderer Name und/oder anderes Verzeichnis). Falls nur die abgespeckte Version an Lieferanten verschickt werden muss, dürfte dein zweiter Einwand auch kein Problem sein.
Was hältst du davon?
Gruß Matthias

AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:31:49
Anja
Hallo Matthias,
das wäre super!
Makro ist nicht ganz meins, aber du wirst es mir sicher erklären. :-)
Danke dir schon mal!
Gruß Anja

AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:36:00
Matthias
Hallo Anja,
noch ein paar Infos bräuchte ich dazu:
1. wieviele Blätter hat die Arbeitsmappe?
2. welche Blätter sollen in der "Light"-Version enthalten sein?
Gruß Matthias

Anzeige
AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:41:36
Anja
Hallo Matthias,
es ist nur ein Arbeitsblatt und das soll von Spalte A bis AJ mit allen Zeilen enthalten sein.
Danke dir!!!
Gruß Anja

AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 10:04:49
Matthias
Hallo Anja,
folgenden Code in "DieseArbeitsmappe":

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Const Blattname = "Tabelle1" 'Name des Blattes anpassen
Dim fn As String
Dim wb As Workbook
Dim rng As Range
'Speicherpfad der Dateikopie
'fn = "C:\Dokumente und Einstellungen\Matthias\Desktop\xl\Anja\kopie.xls"
' alternativ: relativ von dieser Datei
fn = ThisWorkbook.Path & "\kopie.xls"
Application.ScreenUpdating = False 'Flackern abstellen
'Blatt kopieren in neue Mappe:
ThisWorkbook.Sheets(Blattname).Copy
'in Kopie Spalten löschen (37 = Spalte AK):
ActiveSheet.Range(Columns(37), Columns(Columns.Count)).Delete
'Warnmeldung abschalten ("Überschreiben?"):
Application.DisplayAlerts = False
'Kopie der Mappe speichern und schließen:
With ActiveWorkbook
.SaveAs Filename:=fn
.Close
End With
'Warnmeldung wieder einschalten
Application.DisplayAlerts = True
End Sub


Wie das mit Code einfügen geht, kannst du hier nachlesen:
http://www.online-excel.de/excel/singsel_vba.php?f=44
Wenn das soweit klappt, müssten noch ein paar Fehler abgefangen werden, aber teste erst mal bis hierhin.
Ein paar Werte im Code musst du auch anpassen (s.o.).
Gruß Matthias

Anzeige
Korrektur
30.06.2008 10:13:18
Matthias
Hallo,
folgendes noch ändern:
'in Kopie Spalten löschen (37 = Spalte AK):
Application.ActiveSheet.Range(Columns(37), Columns(Columns.Count)).Delete
Gruß Matthias

AW: Korrektur
30.06.2008 10:47:00
Anja
Hallo Matthias,
alles super!
Hat geklappt!
Vielen vielen Dank!!!
Gruß Anja

AW: Korrektur
30.06.2008 10:53:00
Matthias
Hallo Anja,
Wenn aber die Kopie auf einem anderen Rechner geöffnet ist (und zwar nicht schreibgeschützt), kommt es zu einem Laufzeitfehler, weil die Kopie dann nicht gespeichert werden kann.
Abfangen kannst du dies mit diesem Code (einfach alles ersetzen):

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Const Blattname = "Tabelle1" 'Name des Blattes anpassen
Dim fn As String
Dim wb As Workbook
Dim rng As Range
'Speicherpfad der Dateikopie
'fn = "C:\Dokumente und Einstellungen\Matthias\Desktop\xl\Anja\kopie.xls"
' alternativ: relativ von dieser Datei
fn = ThisWorkbook.Path & "\kopie.xls"
Application.ScreenUpdating = False 'Flackern abstellen
'Blatt kopieren in neue Mappe:
ThisWorkbook.Sheets(Blattname).Copy
'in Kopie Spalten löschen (37 = Spalte AK):
Application.ActiveSheet.Range(Columns(37), Columns(Columns.Count)).Delete
'Warnmeldung abschalten ("Überschreiben?"):
Application.DisplayAlerts = False
'Kopie der Mappe speichern und schließen:
With ActiveWorkbook
On Error Resume Next
.SaveAs Filename:=fn
If Err.Number > 0 Then
.Close Savechanges:=False
MsgBox "Fehler " & Err.Number & ":" & vbLf & Err.Description, vbExclamation, "Fehler  _
beim Speichern der Kopie!"
Else
.Close
End If
On Error GoTo 0
End With
'Warnmeldung wieder einschalten
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Gruß Matthias

Anzeige
AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:33:54
David
Hi.
Erstelle eine zweite Datei. Markiere in deinem Original den Bereich, den du für die Anderen haben willst, kopieren und in der neuen Datei über 'Inhalte einfügen', 'Alles' angehakt lassen und dann auf die Schaltfläche 'Verknüpfen'. Anschließend evtl. noch mit dem Pinsel die Formate übertragen, falls das Layout nicht passt.
Die neue Datei enthält dann alle gewünschten Felder mit Bezug zu deiner Originaldatei. Deine Kollegen sollten dann nur die neue verwenden. Evtl. legst du dein Original dann in einem Verzeichnis ab, wo nur Du Zugriff hast. Wenn deine Kollegen die dann öffnen, "meckert" Excel zwar wegen der fehlenden Verknüpfungen, schreibt aber normalerweise den letzten bekannten Wert in die Zelle.
Gruß
David

Anzeige
AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 09:44:23
Anja
Hallo David,
vielen Dank für deinen Tip.
Wenn allerdings die für alle zugängliche Version beim Öffnen "meckert" werde ich mit Anrufen überschüttet.
Es müßte eine komfortabelere Lösung geben.
Danke dir trotzdem!
Gruß Anja

AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 10:06:16
David
Da gäbe es evtl. noch diese Möglichkeit:
Userbild
Weiß aber nicht genau, ob das immer bei allen funzt. Notfalls könnte man die Meldung auch per Makro unterdrücken...
Oder du machst einfach ein "Deckblatt" in dem kurz steht, warum diese Meldung kommt und dass dies nichts an der Qualität der Daten ändert. Denn egal ob man aktualisieren oder nicht anklickt, die Datei wird auf jeden Fall erst mal geöffnet.
Gruß
David

Anzeige
AW: Teilbereich einer Arbeitsmappe speichern
30.06.2008 10:48:00
Anja
Hallo David,
habe ein kleines super funktionierendes Makro bekommen.
Vielen Dank für deine Hilfe!
Gruß Anja

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige