"View" in weiterem Blatt erstellen
#1
Hallo zusammen,

ich habe mich die letzten Stunden etwas durch das Archiv gewühlt, habe aber leider keine Lösung für mein Problem gefunden, daher möchte ich meine Frage in eure Runde werfen. (Vielleicht fehlt mir auch einfach nur der passende Fachbegriff, um mit Antworten erschlagen zu werden)

Ich habe eine Exceldatei, die ein Blatt ("Daten") beinhaltet, das sämtliche Daten eines Mitglieds enthält. Name, Vorname, Mitgliedsnummer, etc. Nun steht bald eine Freizeit an und ich möchte für die Betreuer eine Telefonliste erzeugen. Ich brauche als Spalten Name, Vorname, Erziehungsberechtigte(r), die Telefonnummern, etc. - eben nur eine Auswahl an Spalten aus dem Blatt Daten.

Nun habe ich ein zweites Blatt angelegt und eben die entsprechenden Spalten mit "=DATEN!Ax", "=DATEN!Bx","=DATEN!Kx", ... direkt referenziert. So weit, so gut. Änderungen an den Daten werden auch (wie gedacht) sofort richtig übernommen im zweiten Blatt ("Telefonliste"). Das Problem ist nun, wenn ein Mitglied austritt (und man dessen Zeile löscht), dann steht in der Telefonliste ein Bezugsfehler. Dabei wäre das Feld (z.B.) A16 ja trotzdem wieder belegt, nur mit einem neuen Namen.

Gibt es eine Möglichkeit da eine saubere Lösung hinzubekommen, sodass ich immer eine aktuelle Telefonliste zur Hand hätte, die ich sofort drucken könnte?

Danke vorab für eure Ratschläge.
Top
#2
Hi,

ich würde das mit einer Pivottabelle lösen. Namen in den Filter ziehen und die Telefonnummern in die Zeilen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
NiNo,

es geht nur darum bestimmte Spalten anzuzeigen?

Erstellen, Anwenden oder Löschen einer benutzerdefinierten Ansicht
Excel # 249 - Benutzerdefinierte Ansichten
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#4
(27.08.2017, 19:42)shift-del schrieb: es geht nur darum bestimmte Spalten anzuzeigen?
Im Prinzip ja. Die Telefonliste soll ausgedruckt und mitgegeben werden und ich möchte halt nicht für jeden Ausflug erneut eine Liste erstellen. Ich probiere das gleich mal anhand deines Beispieles aus, ob mich das weiterbringt.


(27.08.2017, 19:41)WillWissen schrieb: Hi,

ich würde das mit einer Pivottabelle lösen. Namen in den Filter ziehen und die Telefonnummern in die Zeilen.

Klingt interessant. Ich kenne Pivot eher aus Aggregationen, ich will ja eigentlich nur "Kopieren". Aber probiere ich auch mal aus. Vielleicht läuft das in Excel etwas anders ;)
Top
#5
Hi,

du könntest auch mit einem Makro, falls du dieses einsetzen darfst/willst, arbeiten (zeichne den Vorgang mal mit dem Makrorekorder auf).

- Rekorder einschalten
- alle nicht benötigten Spalten ausblenden
- Rekorder ausschalten.

Dasselbe jetzt rückwärts (alle Spalten wieder einblenden)

Wenn du dir jetzt einen Button anlegst und diesem das Makro zuweist, kannst du aus deiner Gesamtliste mit einem Knopfdruck deine Telefonliste erstellen, ausdrucken und wieder in die Gesamtmitgliederliste umschalten.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#6
Hallo NiNo
Ich hatte ein ähnliches Problem für unsere Seniorenturnerriege (ca. 60 Mitglieder). Die Mitgliederliste mit allen Informationen war die Basis für Telefonliste, Telefonring, Geburtstagsliste, Runde Geburtstage, Präsenzliste, Inkassoliste, SMS-Aufruf usw. Einige dieser Listen werden  in Papierform an die Mitglieder ohne E-Mail abgegeben, die andern erhalten sie als Anhang an ein E-Mail. Ich habe Makros geschrieben, welche die gewünschten Produkte aus der Mitgliederliste generieren. In der Regel geschieht dies durch löschen nicht gewünschter Zeilen und Spalten. Im Fall des Telefonrings und der Präsenzliste musste auch das Layout angepasst werden.
Die Devise lautet: jede Information wird nur einmal erfasst. Die Geschichte wird gehandhabt durch den Sekretär mit wenig IT-Kenntnissen.
Gruss
Top
#7
Grundlegend scheint das mit den benutzerdefinierten Ansichten zu funktionieren, daher schon einmal danke dafür.

Makros habe ich in Excel noch nicht benutzt, schaue ich mir aber auch mal an. Ein verlinkter Knopf wäre sicherlich besser als das doch versteckte Ansichtenmenü (zumal man wohl nicht sieht, ob es Ansichten zu einem Blatt gibt, wenn man nicht explizit nachschaut).
Top
#8
HI,

ich habe dir zum vorigen Vorschlag mal ein Makro aufgezeichnet und entschlackt. Die Datei stelle ich nicht mit dem Makro ein, da es einige User gibt, die aus Sicherheitsgründen keine Dateien mit Makros runterladen.

Meine Testdatei:

Tabelle3

ABCD
1NamenStraßeOrt Telefon
2Name1Straße1Ort1123450
3Name2Straße2Ort2123460
4Name3Straße3Ort3123470

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Ausgeblendet werden sollen die Spalten Straße und Ort.
Hier das dazugehörige Makro, das ich hinter das Tabellenblatt gelegt habe. Je nach Zustand werden durch Klick auf den Button die Spalten ein- bzw. ausgeblendet.


Code:
Option Explicit

Private Sub CommandButton1_Click()

' Je nach Zustand werden die Spalten B und C ein- bzw. ausgeblendet.
'
    If Columns("B:C").EntireColumn.Hidden = True Then
    Columns("B:C").EntireColumn.Hidden = False
    Else: Columns("B:C").EntireColumn.Hidden = True
    End If
    Range("A1").Select
End Sub

@ unsere VBA-Spezies:

Steinigt mich nicht, ich weiß, dass sich dass noch verfeinern lässt - stecke VBA-mäßig aber noch in Baby-Schühchen. ;)
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#9
Ich danke euch. Sowohl die Ansicht als auch das Mako funktionieren super.

Jetzt muss ich zwar trotzdem meinen Blattschutz der Stammdaten immer einmal aufheben, aber dank Hotkey oder Schaltfläche - mal schauen, was mir da auf Dauer mehr zusagt - ist das Problem gelöst.

Super, danke :)
Top
#10
Hi,

den Blattschutz kannst du ja im Makro selbst aufheben und danach wieder setzen.

So z.B.:


Code:
Option Explicit

Private Sub CommandButton1_Click()

' Je nach Zustand werden die Spalten B und C ein- bzw. ausgeblendet.
'
   ActiveSheet.Unprotect
       If Columns("B:C").EntireColumn.Hidden = True Then
       Columns("B:C").EntireColumn.Hidden = False
       Else: Columns("B:C").EntireColumn.Hidden = True
       End If
   ActiveSheet.Protect
   Range("A1").Select
End Sub
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste