Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1216to1220
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
Inhaltsverzeichnis

Verknüpfungen von Tabellenblättern

Verknüpfungen von Tabellenblättern
Tabellenblättern
Hallo Leute, ich bin ganz neu hier!
Es geht mir um Hilfe bei einer Excel-Problemlösung. Ich gehe davon aus, dass es für die meisten hier gar kein Problem darstellt. Ich arbeite zwar auch schon länger mit Excel, aber nur bei meiner ehrenamtlichen Vereinsarbeit, und nur soweit, wie ich es mir selbst beibringen konnte.
Für Wettbewerbe im Schiffsmodellsport habe ich Meldelisten und Startlisten erstellt. Nun möchte ich Daten nur noch in die Meldeliste eintragen. Das Programm soll die Daten (Namen, Modellnamen, mehrere Modelldaten) in die richtigen Startlisten übertragen.
Dazu habe ich die Meldeliste und alle Startlisten als Tabellenblätter in einer Excelmappe(Datei) zusammengefasst (Tabelle 1 ist die Meldliste, Tabelle 2 ist die Startliste für die Wettbewerbsklasse "F2a-Sen.", Tabelle 3 für die Wettbewerbsklasse "F2b-Sen.", Tabelle 4 für "F4a-Sen." usw.).
In der Meldeliste stehen die Teilnehmer in der Anmeldereihenfolge und verschiedene Teilnehmer starten in mehreren Klassen. Für die momentan 6 Klassen habe ich der Vereinfachung wegen Klassenkennzahlen von 1 bis 6 vergeben, welche ich in der Meldliste in die Spalte neben der Klasse eingetragen habe. Eventuell ist dies unnötig, aber ich dachte, dass ich auf diese Weise mittels "Formel oder Funktion" mit "=WENN" die Daten von der Meldliste in die Startlisten bekomme. In einem Fall ist mir dies auch schon geglückt, allerdings in der nächsten Zeile und auch bei der zweiten Startliste funktionierte es nicht obwohl ich die gleichen Formel nur mit anderer Klassenkenzahl verwendet habe. Im Zielfeld "Name" der Startliste1 soll der Name des 1. Starters der Klasse "F2a-Sen." (KKZ 1) erscheinen. In der Zeile darunter der Name des 2. Starters dieser Klasse usw.; im Zielfeld Name der Startliste 2 soll der Name des 1. Straters der Klasse "F2b-Sen." (KKZ 2) erscheinen, in der Zeile darunter der Name des 2. Starters in dieser Klasse usw.
Kann mir jemand einen Tipp geben, der mich weiterbringt?
Danke!
Viele Grüße
Andreas

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Verknüpfungen von Tabellenblättern
07.06.2011 00:32:23
Tabellenblättern
Hallo Andreas,
eine Beispielmappe wäre hier sehr von Vorteil.
Denn 1. hast du die Datei ja schon erstellt und wir noch nicht
und 2. wissen wir nicht den genauen Aufbau deiner datei.
Gruß aus der Domstadt Köln.
AW: Verknüpfungen von Tabellenblättern
07.06.2011 03:13:46
Tabellenblättern
Hallo Andreas,
hier mein Vorschlag, wie die Tabellen mit ihren Formeln aufgebaut werden sollten.
Die Formeln in den Starterlisten sind identisch.
Mit dem Eintrag in Zelle A4 wird festgelegt, in welcher Spalte der Meldeliste die X-Einträge geprüft und die zugehörigen Zeileninhalte ausgelesen werden sollen.
Gruß
Franz
https://www.herber.de/bbs/user/75190.xls
Anzeige
AW: Verknüpfungen von Tabellenblättern
07.06.2011 04:35:33
Tabellenblättern
Hallo Andreas,
hier deine Beispieldatei mit Formellösung.
Die Meldeliste hab ich excelmäßig etwas vereinfacht.
Die Zeilen 1 bis 5 sind für den Ausdruck als Wiederholungszeilen festgelegt.
Die Blatt-Nummerierung und der Vereinsname sind unter "Seite einrichten" in den Kopf- bzw. Fusszeilen festgelegt.
Falls du in den Starterlisten mehr Starter eintragen muss, dann muss du immer Zeilenblöcke von 3, 6 oder 9 Zeilen (also Vielfache von 3) kopieren, damit die Formeln und Formate korrekt dupliziert werden.
In diesen Blättern sind Zeilen 1 bis 6 als Wiederholungszeilen festgelgt, so dass ohne Probleme auch mehrere Seiten der Liste gedruckt werden können.
https://www.herber.de/bbs/user/75191.xls
Gruß
Franz
Anzeige
AW: Verknüpfungen von Tabellenblättern
07.06.2011 02:02:17
Tabellenblättern
Ich schaue heute Abend noch mal rein!
Vielen Dank für Eure Hilfe - im Voraus!
Grüße Andreas
AW: Verknüpfungen von Tabellenblättern
07.06.2011 03:00:09
Tabellenblättern
Hallo Andreas,
hier mal deine Testmappe mit einem kleinem Makrocode, der die Teilnehmer in die richtigen Tabellen einträgt.
https://www.herber.de/bbs/user/75189.xls
Rückmeldung obs Hilft wäre nett.
Gruß aus der Domstadt Köln.
AW: Verknüpfungen von Tabellenblättern
07.06.2011 22:56:37
Tabellenblättern
Hallo Mustafa, hallo Franz!
Ihr habt mir beide sehr geholfen, und das in der Geschwindigkeit, dafür vielen herzlichen Dank! Mit Makrocode habe ich noch nicht gearbeitet. Da muss ich mich erst noch genauer beschäftigen wie das funktioniert. Eventuell hat jemand im Forum eine allgemeine und verständliche Erklärung?! Es scheint mir aber die sauberste Lösung zu sein, sofern ich es schaffe sie zu verstehen und in Zukunft anzuwenden. Denn nichts liegt mir ferner als Dinge zu verwenden, welche ich nicht durchschauen kann. In jedem Fall werde ich meine Tabellen nach dem Vorschlag von Franz überarbeiten und auch vorerst mit den Formeln arbeiten.
Was muss ich jetzt noch tun, um in der Startliste F4a-Senioren alle Starter angezeigt zu bekommen? Bitte nicht "machen" sondern nur "sagen"!!! Warum ist das mit den 3 Zeilen nötig, und auf welche Liste bezieht sich das - Meldeliste oder Stratliste (Erklärung zum Verständnis)?
An Franz: Kannst Du mir die Formel im einzelnen erklären, damit ich verstehe, was die einzelnen Teile aussagen bzw. bewirken?
Vielen Dank!
Allerbeste Grüße aus Thüringen
Andreas
Anzeige
AW: Verknüpfungen von Tabellenblättern
07.06.2011 23:54:56
Tabellenblättern
Hallo Andreas,
hier der Code noch einmal mit ein paar Erläterungen :
Sub Sortieren()
Dim strSuche1 As String, strWks As String
Dim rngZelle As Range
Dim Wks1 As Worksheet, Wks2 As Worksheet
' Variablendeklaration -- Wichtig bei längeren Codes für eventuelle
' Fehlersuche und um die Überschaubarkeit des Codes etwas zu bewahren
Application.ScreenUpdating = False
' Ausschalten der Bildschirmaktualisierung um flackern zu vermeiden
For Each Wks1 In ThisWorkbook.Worksheets
' Alle Arbeitsblätter der Mappe abklappern
If Not Wks1.Name = "Meldeliste" Then
' Vergleichen ob der Name des Arbeitsblattes nicht Meldeliste ist
For Each rngZelle In Wks1.Range("A7:W50")
' Falls nicht Meldeliste dann in allen Zellen im Bereich A7:W50
rngZelle = ""
' Die Zelle leeren
Next
End If
Next
Set Wks1 = Worksheets("Meldeliste")
' Der Variablen Wks1 das Blatt Meldelisten zuweisen
For Each rngZelle In Wks1.Range("G6:G58")
' Alle Zelen im Bereich G6:G58 durchforsten
strSuche1 = rngZelle.Value
' Den Wert der Zelle der Variablen strSuche1 übergeben
strWks = Left(strSuche1, 7) & "ioren"
' Dem Wert in der Variablen noch das "ioeren" hinzufügen und in eine andre Variable  _
schreiben
If Left(rngZelle, 1) = "F" Then
' Wenn der Wert in der variablen mit "F" anfängt dann weitermachen
Set Wks2 = Worksheets(strWks)
' Der Variablen Wks2 das Arbeitsblatt zuweisen der in der Variablen strWks steht
Wks2.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0) = rngZelle.Offset(0, -4)
' In die erste leere Zeile in der 3.Spalte im Blatt Wks2 den Wert 4 Zellen weiter links  _
von der durchforstenden Zelle übergeben
Wks2.Cells(Rows.Count, 5).End(xlUp).Offset(1, 0) = rngZelle.Offset(0, -3)
' gleiche wie oben nur 5. Spalte und 3 zellen weiter links
Wks2.Cells(Rows.Count, 5).End(xlUp).Offset(1, 0) = rngZelle.Offset(0, -1)
' Gleiche wie oben nur 5. Spalte und 1 Zellen weiter links
Wks2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = rngZelle.Offset(0, 2)
' gleiche wie oben nur 1. Spalte und 2 Zellen weiter Rechts
End If
Next
Application.ScreenUpdating = True
' Bildschirmaktualisierung wieder einschalten
End Sub

Gruß aus der Domstadt Köln.
Anzeige
AW: Verknüpfungen von Tabellenblättern
08.06.2011 14:34:57
Tabellenblättern
Hallo Mustafa,
vielen Dank für Deine Hilfe! Was die Makroprogrammierung angeht, ist es wohl besser, ich frage bei meiner Firma mal nach einem Leergang. Für mich ist das noch immer ein Buch mit 7 Siegeln!
Fürs Erste hat mich Franz mit seinen Formeln weitergebracht. So kann ich mir die Handarbeit in der nächsten Zeit sparen.
Deine Variante ist noch etwas professioneller, aber bevor ich damit arbeiten kann, muss ich die Funktion erst durchschauen, um auch die Tabellen noch etwas anpassen zu können.
Welchen Einfluss hätten denn Änderungen an der Tabelle auf die Programmierung?
Viele Grüße aus Thüringen
Andreas
Anzeige
AW: Verknüpfungen von Tabellenblättern
08.06.2011 04:03:52
Tabellenblättern
Hallo Andreas,
damit weitere Starter angezeigt werden, machts du folgende Schritte:
1. markiere einen oder mehrere 3er-Zeilenblöcke z.B. Zeilen 28-33
2. Wähle Bearbeiten-kopieren oder Tastenkombination Strg+c
3. Selektiere Zelle A34
4. Wähle Menü Einfügen--kopierte Zellen oder Rechte-Maustaste-Klick in Zelle A34--kopierte Zellen einfügen
Die Schritte 1 bis 4 wiederholst bis alle Starter angezeigt werden bzw. die nächste/letzte Seite mit Tabellenzeilen gefüllt ist.
Evtl. muss du unter "Seite einrichten" den oberen oder unteren Seitenrand ein wenig vergrößern, damit immer der komplette 3-Zeilensatz eines Starters oben auf der Seite angezeigt wird. Alterntiv kannst du oberhalb der entsprechenden Zeile(n) auch einen manuellen Seitenwechsel einfügen.
Wie du aus der obigen Beschreibung ersehen kannst bezieht sich das Kopieren der 3er-Zeilenblöcke auf die Starterlisten.
Warum? Für jeden Starter verwendest du 3 Zeilen z.B. 7 bis 9. Da du mit verbundenen Zellen arbeitest (Spalten A bis E und T bis W), und damit die Formeln in Spalten A bis E den korrekten Bezug zu der in jeder 3. Zeilen vorhandenen Formel in Spalte Y behalten muss in 3er-Blöcken kopiert. Damit der Druckbereich automatisch angepasst wird immer die Zeilen oberhalb des untersten Zeilenbocks einfügen und nicht untererhalb der vorhandenen Daten.
Zu den Formeln in den Starterlisten,
in Spalte Y: Diese Formeln berechnen entsprechend dem Eintrag in der Zelle Y3 die Zeilen-Nrn, der übereinstimmenden Einträge in der Spalte G der Meldenummern.
Bei den Formeln handelt es sich um sog. Matrix-Formeln, deren Eingabe mit der Tastenkombination Strg+Shift+Enter abgeschlossen wird. Matrix-Formeln haben die Eigenschaft, dass ganze Zellenbereiche nach dem gleichen Schema abarbeiten und dabei Listen (eine Matrix) von Werten als Ergebnis ausgeben, die dann innerhalb der Formeln mit weiteren Funktionen ausgewertet werden können. Dieser Formeltyp ist an den geschweiften Klammern {=.....} in der Formelanzeige erkennbar.
=KKLEINSTE(WENN((Meldeliste!$G$5:$G$56=$Y$3);ZEILE(Meldeliste!$G$5:$G$56);100);GANZZAHL((ZEILE() -ZEILE($A$6)-1)/3)+1) 

Diese Formel besteht aus dem inneren Teil mit der WENN-Funktion
WENN((Meldeliste!$G$5:$G$56=$Y$3);ZEILE(Meldeliste!$G$5:$G$56);100)
und der äußeren KKLEINSTE-Funktion

=KKLEINSTE(WerteMatrix;GANZZAHL((ZEILE()-ZEILE($A$6)-1)/3)+1)

Da als Matrixfunktion angelegt vergleicht die Formel zunächst die Werte im Bereich "Meldeliste!$G$5:$G$56" mit dem Klasse-Wert in Zelle Y3 und erstellt intern eine Liste, wobei bei Ergebnis WAHR die Nummer der Zeile der entsprechenden Zelle eingetragen wird und bei FALSCH der Wert 100. Der Wert 100 in der Formel ist so gewählt, daß er größer ist als der maximal zu erwartende Wert einer Zeilennummer. Wenn die Meldeliste so lang wird, das Teilnehmer unterhalb der Zeile 95 eingetragen werden, dann muss der Wert 100 in den Formeln in Spalten A bis D und Y angepast werden. Das kann man bei Bedarf mit der Suchen/Ersetzen-Funktion von Excel machen. Der Wert 100 ist hier entscheiden für die Auswertung der Liste durch die Funktion KKLEINSTE. Diese Funktion verschiebt alle 100er-Werte bei der AUswertung ans Ender Liste. Er sollte aber auch nicht unnötig größer gewählt werden, da die Formeln sehr rechenintensiv sind.
In der KKLEINSTE-Funktion bestimmt der Ausdruck GANZZAHL((ZEILE()-ZEILE($A$6)-1)/3)+1 den k-ten Wert der Liste, der als Ergebnis ausgegeben werden soll.
Der Ausdruck wird hier dadurch kompliziert, dass die Formel in der 3. Zeile steht und als Ergebnis ja eine Zahlenfolge 1-2-3-4 usw. berechnet werden muss.
Formeln in den Spalten A, C bis D. Hier wird die in Spalte Y ermitelte Zeilennummer genutzt und mit der INDEX-Funktion der entsprechende Wert aus der Spalte in der Meldeliste ausgelesen.
Beispiel Zelle A6:
=WENN($Y7100;INDEX(Meldeliste!C:C;$Y7;1);"")

WENN der Wert in Spalte Y ungleich 100 ist DANN wird mit der INDEX-Funktion aus der Spalte C der Wert in der in Zelle Y7 ermittelten Zeile ausgelesen SONST wird ein Leerstring ausgegeben. SO werden in den Zellen ohne Starterdaten keine 0-Werte oder Fehler angezeigt.
Spalte B:
=WENN(Y7100;GANZZAHL((ZEILE()-ZEILE($A$6)-1)/3)+1;"")

Hier wird in jeder 3. Zeile, ägnlich wie in der KKLEINSTE-Funktion eine fortlaufende Nr. beginnend bei 1 berechnet, Mit der WENN-Prüfung wird verhindert, das keine Werte angezeigt werden, wenn in der Zeile keine Starterdaten eingelesen werden.
Viel Erfolg und Spaß bei Umsetzung und Verstehen der Formeln.
Gruß
Franz
Anzeige
AW: Verknüpfungen von Tabellenblättern
08.06.2011 14:17:25
Tabellenblättern
Hallo Franz,
herzlichen Dank für die ausführliche Erklärung. Die Sache mit den 3 Zeilen war ja logisch und ist mir jetzt auch klar. Mit dem Kopiervorgang zur Verlängerung der Startlisten muss ich mich erst noch mal beschäftigen. Ich hatte zuvor schon selbstständig versucht dies zu erledigen, und es hatte auch funktioniert aber eben hatte ich eine Methode gewählt, die mir einiges Durcheinander angerichtet hat. Zur Sicherheit habe ich aber eine Kopie Deiner Mustertabelle gespeichert. Die habe ich aber noch nicht gebraucht. Ich habe mich lieber in die Materie reingedacht und den Fehler gefunden. Mit Deinen Erklärungen bekomme ich das hin.
Eine Sache muss ich aber noch ändern. Die Dockbreite ist um 200 mm größer als die Modellbreite. Ich könnte es über eine Hilfsspalte in der Meldeliste ohne Probleme lösen. Um einen direkten Weg zu finden, muss ich mich nochmal mit der Formel beschäftigen.
Nochmals vielen Dank für Deine Hilfe!
Viele Grüße
Andreas
PS: Du hattest ja auch eine ähnliche Datei aus dem Modellflugbereich hochgeladen, die hast Du wohl mal für einen Modellflugverein erstellt?
Anzeige
AW: Verknüpfungen von Tabellenblättern
08.06.2011 15:07:25
Tabellenblättern
Hallo Franz,
ich habe den direkten Weg für die richtige Anzeige der Dockbreite bereits gefunden. Es war ja ganz einfach. Allerdings musste ich vorerst die Einheit weglassen.
Gibt es eine Möglichkeit die Einheit mm in beiden Listen mit anzeigen zu lassen - wie bei €? Ich werde mich mal auf die Suche begeben!
Viele Grüße!
Andreas
AW: Verknüpfungen von Tabellenblättern
08.06.2011 15:18:14
Tabellenblättern
Ich hab's raus. Bisher bin ich immer daran gescheitert, heute hab ich die Lösung gefunden. Wenn's läuft dann läufts!
Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige