Kopie eines Tabellenblatts mit Veränderungen

Hallo,

ich habe gerade ein etwas kniffeliges Problem zu lösen:

Ich habe in Excel 2003 ein Tabellenblatt, von dem ich zwar die Zeilenzahl, nicht aber die Spaltenzahl kenne. Dieses Quelltabellenblatt ist nur für den Bearbeiter zum Benutzen gedacht. Nun möchte ich für die restlichen Benutzer eine Art „Anzeigedatenblatt“ erstellen, das mehr oder weniger genau das Originaldatenblatt abbildet, also auch die Formate wie Feldschattierungen oder Hintergrundfarben und so, allerdings sollten in der Kopie bestimmte Zelleninhalte durch andere ersetzt werden. D.h. im Feld des Quelldatenblatts steht z.B. ein „u“ oder ein „k“ drin und im Anzeigentabellenblatt steht dann für beide Fälle ein „x“ drin. Im Quelldatenblatt ausgeblendete Spalten sollten im Anzeigenblatt ebenfalls ausgelassen werden.

Hat irgendwer eine Idee, wie man das lösen könnte? Ich habe hier einmal an VBA gedacht, aber vielleicht gibt es ja auch noch andere Lösungen.

Danke schon mal für die Tipps.

Gruß

Thomas

Hallo,

es gibt ein wenig verwendetes Feature von Excel - die Kamera. Da ich an diesem Rechner nicht über Excel verfüge, kann ich Dir die einzelnen Schritte nicht genau beschreiben, sondenr muß mich auf mein Gedächtnis verlassen. Und das… :smile: Na ejal.

Die Kamera ist standardmäßig nicht sichtbar. Du mußt das Symbol über Extras - Anpassen suchen und in eine Symbolleiste einfügen.
Wenn es da ist, markierst Du [meine ich] den abzubildenden Bereich, klickst auf das Kamera-Symbol und fügst - an anderer Stelle oder auf einem anderen Blatt - das Bild des Quellbereichs ein. Links oben neben der Formelzeile steht dann der Name des neuen Objekts [meistens „Bild1“].

Das geniale daran ist, daß Änderungen im Quellbereich unverzüglich weitergegeben werden. Und Formatierungen etc. bleiben alle erhalten - halt so wie bei einem Kamerabild.

HTH.

Markus
____________________
Ich habe das gerne benutzt, wenn ich auf einem Tabellenblatt zwei Spalten mit unterschiedlichen Zeilenhöhen darstellen will. Oder bei monströsen Tarifkalkulationen, wo die Berechnung über mehrere Blätter mit geschachtelten SVerweisen stattfindet. Dann kann man die Offerte besonders schön formatieren.

Hallo Markus,

das ist eine interessante Funktion, die ich bisher noch gar nicht kannte. Leider kann ich diese in diesem Fall nicht benutzen, da ein „Bild“ eines Tabellenblatts ja bekanntlich dessen Inhalt 1:1 wiedergibt. In meinem Fall will ich nun aber ja den Inhalt von bestimmten Zellen verändern, weil eben deren Inhalt nicht genau angezeigt werden darf.

Gruß

Thomas

Hallo Thomas,

das ist eine interessante Funktion, die ich bisher noch gar
nicht kannte.

Sicher, aber wenn ich an Fremdrechnern sitze ist es mir zu mühsam das Kamera-Symbol in die leiste mit einzubinden.

Es geht auch ohne das Symbol. markiere den gewünschten Zellenbereich, dann Strg+c, nun, ggfs. auf einem anderen Blatt, die Shift-Taste halten, Bearbeiten–…
Dann siehst du zwei Möglichkeiten wie du das als Bild einfügen kannst, entweder verknüpft oder nicht.

In meinem Fall will ich nun aber
ja den Inhalt von bestimmten Zellen verändern, weil eben deren
Inhalt nicht genau angezeigt werden darf.

Das Problem ist, wenn du auch z.B. geänderte Formatierungen oder neu aus- oder eingeblendete Spalten mitaktualisieren willst, das geht nicht automatisch.

Reine Telländerungen kann man schon per Vba automatisch abfangen und darauf reagieren. Aber Formatierungen, Spaltenrumblenden löst da kein abfangbares Ereignis aus.

Erzähl mal wie du dir das eigentlich vorgestellt hast.
Eine Mappe?
Wenn die Mappe der Masteruser öffnet kriegt er das Blatt „Geheim“ zu sehen und darf darin alles.
Alle anderen kriegen beim Öffnen der mappe nur das Blatt „Kopie von Geheim“ zu sehen, also das wo statt u und k ein x steht usw.?
An das Blatt „geheim“ kommen sie nicht.

Oder wie hast du dir das gedacht?

Gruß
Reinhard

Hallo Reinhard,

Sicher, aber wenn ich an Fremdrechnern sitze ist es mir zu
mühsam das Kamera-Symbol in die leiste mit einzubinden.

Es geht auch ohne das Symbol. markiere den gewünschten
Zellenbereich, dann Strg+c, nun, ggfs. auf einem anderen
Blatt, die Shift-Taste halten, Bearbeiten–…
Dann siehst du zwei Möglichkeiten wie du das als Bild einfügen
kannst, entweder verknüpft oder nicht.

und trotzdem bleibt es Alles in Allem nur ein Bild und ist keine eigenständige Tabelle, die ich eigenständig weiterverarbeiten kann.

Das Problem ist, wenn du auch z.B. geänderte Formatierungen
oder neu aus- oder eingeblendete Spalten mitaktualisieren
willst, das geht nicht automatisch.

Das hab ich mir schon gedacht.

Reine Telländerungen kann man schon per Vba automatisch
abfangen und darauf reagieren. Aber Formatierungen,
Spaltenrumblenden löst da kein abfangbares Ereignis aus.

Das muß ja auch kein Ereignis sein. Ein Ereignis wäre es ja z.B. wenn man das Blatt öffnet, oder aber, wenn man das Eingabeblatt schließt, oder oder oder.

Erzähl mal wie du dir das eigentlich vorgestellt hast.
Eine Mappe?
Wenn die Mappe der Masteruser öffnet kriegt er das Blatt
„Geheim“ zu sehen und darf darin alles.
Alle anderen kriegen beim Öffnen der mappe nur das Blatt
„Kopie von Geheim“ zu sehen, also das wo statt u und k ein x
steht usw.?
An das Blatt „geheim“ kommen sie nicht.

Oder wie hast du dir das gedacht?

Das ist genau die Beschreibung, wie das funktionieren soll. Es handelt sich um einen Abwesenheitsplan. Einträge darf nur die Personalabteilung machen. Ausserdem stehen in diesem Blatt „Geheim“ nun auch noch Informationen mit drin, die nicht für die Öffentlichkeit bestimmt sind, so wie es niemanden ausser denen etwas angeht, warum der einzelne abwesend ist.

Teilweise, wenn auch sehr unelegant konnte ich das Projekt jetzt dadurch lösen, dass ich ermittle, wieviele Spalten der Plan hat. Die Anzahl der Zeilen kenne ich ja, da das Jahr ja eigentlich immer gleich viele Tage hat. Nun gehe ich in zwei FOR-NEXT-Schleifen durch jede Zeile und jede Spalte und kopiere die Formatierung und übertrage diese, wenn das Feld nicht gerade ausgeblendet ist, denn dann überspringe ich die Spalte. Das gleiche mache ich im zweiten Schritt für den Inhalt, wobei ich mit diversen If-Abfragen die Ersetzungen durchführe.
Allerdings hat das ganze natürlich einen kleinen Haken, denn jedes Aufbauen dieser Kopie dauert mehrere Minuten, weil man richtig dabei zuschauen kann, wie Feld für Feld geschrieben wird. Aber evtl. gibt es ja noch bessere Lösungsmöglichkeiten dafür.

Gruß

Thomas

Gruß

Thomas

Ich habe in Excel 2003 ein Tabellenblatt, von dem ich zwar die
Zeilenzahl, nicht aber die Spaltenzahl kenne. Dieses
Quelltabellenblatt ist nur für den Bearbeiter zum Benutzen
gedacht. Nun möchte ich für die restlichen Benutzer eine Art
„Anzeigedatenblatt“ erstellen, das mehr oder weniger genau das
Originaldatenblatt abbildet, also auch die Formate wie
Feldschattierungen oder Hintergrundfarben und so, allerdings
sollten in der Kopie bestimmte Zelleninhalte durch andere
ersetzt werden.

Hallo Thomas,

prinzipiell kann man das schon mit Vba lösen.
D.h. z.B. die Berechtigten öffnen die Mappe mit aktivierten makros, dann wird ein Passwort gefordert, geben sie das Richtige ein, sehen sie das Blatt „geheim“, ansonsten nicht.
Anstelle PW-Abfrage geht auch automatische Benutzernamenabfrage.

Dann können sie da ändern was sie wollen. Wenn sie die Mappe schließen wird dann automatisch das „Anzeigedatenblatt“ angepasst und das Blatt „Geheim“ wieder so verborgen, daß man es ohne Vba nicht sehen kann.

Problematisch ist eine Sache, wenn Unberchtigte die nur das „Anzeigedatenblatt“ sehen, dort Änderungen vornehmen, sollen die im Blatt „geheim“ auch aktualisiert werden?

Gruß
Reinhard

Hallo Reinhard,

nein, die, die nur das Anzeigenblatt sehen können, die sollen zwar bei Bedarf für Ihre eigene Anzeige etwas verändern können, wie Sortieren oder Ausblenden oder solche Dinge, diese Daten sollen aber nicht auf das Eingabeblatt übernommen werden und diese Änderungen sollen auch nicht dauerhaft sein. Nur das „Geheimblatt“ und dessen Besitzer ist für Änderungen zuständig.

Gruß

Thomas

Hallo Thomas,

Sicher, aber wenn ich an Fremdrechnern sitze ist es mir zu mühsam das Kamera-Symbol in die leiste mit einzubinden.

Das ließe sich mit einem winzigen Makro erledigen. Allerdings scheint das aber bei Dir gar nicht das Problem zu sein, denn Du bist wohl die HR (oder arbeitest ihr zu), die dieses Blatt erstellt. Die, die Dein Blatt lesen, brauchen dann die Kamera gar nicht. Oder hab’ ich da 'was falsch verstanden?

Es geht auch ohne das Symbol. markiere den gewünschten…

Ich präferiere weiterhin die Kamera.

und trotzdem bleibt es Alles in Allem nur ein Bild und ist keine eigenständige Tabelle, die ich eigenständig weiterverarbeiten kann.

Nein, natürlich nicht. Zum Weiterverarbeiten muß man kopieren oder verknüpfen. Ich habe Deine Beschreibung aber so verstanden, daß Du bestimmten Usern nur etwas anzeigen willst.

Wenn die Mappe der Masteruser öffnet…

Teilweise, wenn auch sehr unelegant konnte ich das Projekt…

Ich präferiere weiterhin die Kamera.

  • Du erweiterst aber zusätzlich das Blatt „Geheim“ um Spalten, die mit SVerweis aus den echten Daten die machen, die derzeit auf „Kopie von Geheim“ mit VBA abgebildet werden.
  • Dann machst Du die Abbildung per Verknüpfung oder (wenn Formatierung gewünscht) per Kamera.

Gruß

Markus
_____________________

Allerdings hat das ganze natürlich einen kleinen Haken, denn jedes Aufbauen dieser Kopie dauert mehrere Minuten, …

Beim nächsten Projekt versieh’ 'mal Deinen Code mit „Application.ScreenUpdating“, „Application.DisableEvents“ etc.