Supportnet / Forum / Tabellenkalkulation
Excel - Daten zusammefassen
Frage
Hallo zusammen,
mir stellt sich folgendes Problem:
also, ich habe eine Notenauswertung für 80 Schüler. Jeder Schüler auf einem eigenen Tabellenblatt mit dem Namen des Schülers.
Jetzt möchte ich auf einem neuen Blatt eine Zusammenfassung erstellen. Soll heißen, ich möchte aus Tabelle HANS MÜLLER verschiedene Zelle in das neue Blatt schreiben, von USCHI MAIER genauso, usw.
Wie kann ich das vereingfachen, um nicht immer den Blattnamen von Hand verändern zu müssen.
Die Zellen kann ich absolut machen, aber was ist mit den Blattnamen ?
Hoffe ich habe mich verständlich ausgedrückt.
Vielen Dank für eure Hilfe
Klaus
Antwort 1 von nighty
hi klausi :)
ich versteh nur bahnhof
du hast angenommen 30 schueler und somit 30 tabellen(namen der tabellen sind die namen der schueler) in einer mappe,eine 31 tabelle kommt hinzu fuer eine zusammenfassung soweit sogut und nun ?
manchmal funkt es auch zu spaet bei mir,halt spaetzuender,muss nicht unbedingt schlecht beschrieben worden sein :)
buedde mehr info
gruss nighty
ich versteh nur bahnhof
du hast angenommen 30 schueler und somit 30 tabellen(namen der tabellen sind die namen der schueler) in einer mappe,eine 31 tabelle kommt hinzu fuer eine zusammenfassung soweit sogut und nun ?
manchmal funkt es auch zu spaet bei mir,halt spaetzuender,muss nicht unbedingt schlecht beschrieben worden sein :)
buedde mehr info
gruss nighty
Antwort 2 von Klaus
Hallo nighty,
danke für deine Antwort. Ich versuchs nochmal.
Im neuen Blatt sollen alle Schüler zusammengefasst werden und zwar in folgender Form:
Name | Fach1 | Fach2 | Fach3 | usw
Sepp | 90 | 80 | 70
Franz | 72 | 81 | 82
.
.
Also steht bei den Schülern folgende Formeln:
=Sepp!A4 | =Sepp!B4 | =Sepp!C4 | usw
=Franz!A4 | =Franz!B4 | =Franz!C4 | usw
.
.
Nur muss ich so die Blattnamen von Hand ändern.
Hätte aber gerne einfach die Formeln nach unten kopiert.
D.h. aus Sepp soll Franz werden :-)
cu
Klaus
danke für deine Antwort. Ich versuchs nochmal.
Im neuen Blatt sollen alle Schüler zusammengefasst werden und zwar in folgender Form:
Name | Fach1 | Fach2 | Fach3 | usw
Sepp | 90 | 80 | 70
Franz | 72 | 81 | 82
.
.
Also steht bei den Schülern folgende Formeln:
=Sepp!A4 | =Sepp!B4 | =Sepp!C4 | usw
=Franz!A4 | =Franz!B4 | =Franz!C4 | usw
.
.
Nur muss ich so die Blattnamen von Hand ändern.
Hätte aber gerne einfach die Formeln nach unten kopiert.
D.h. aus Sepp soll Franz werden :-)
cu
Klaus
Antwort 3 von nighty
hi klausi
versteh immer noch zu wenig :(
daher hier ein vorschlag
das makro benennt die aktive tabelle um und uebernimmt den namen der aktiven zelle.
hilft das ?
gruss nighty
Sub Makro1()
adress$ = ActiveWindow.RangeSelection.Address
adress1 = Len(adress$)
For mo = 1 To adress1
If Mid$(adress, mo, 1) = "$" Then
llp = llp + 1
Else
If llp = 1 Then
spalte$ = spalte$ + Mid$(adress, mo, 1)
End If
If llp = 2 Then
zeile$ = zeile$ + Mid$(adress, mo, 1)
zeile1 = Val(zeile$)
End If
End If
Next mo
a$ = Range("" & spalte$ & zeile1)
ActiveSheet.Name = a$
End Sub
versteh immer noch zu wenig :(
daher hier ein vorschlag
das makro benennt die aktive tabelle um und uebernimmt den namen der aktiven zelle.
hilft das ?
gruss nighty
Sub Makro1()
adress$ = ActiveWindow.RangeSelection.Address
adress1 = Len(adress$)
For mo = 1 To adress1
If Mid$(adress, mo, 1) = "$" Then
llp = llp + 1
Else
If llp = 1 Then
spalte$ = spalte$ + Mid$(adress, mo, 1)
End If
If llp = 2 Then
zeile$ = zeile$ + Mid$(adress, mo, 1)
zeile1 = Val(zeile$)
End If
End If
Next mo
a$ = Range("" & spalte$ & zeile1)
ActiveSheet.Name = a$
End Sub
Antwort 4 von nighty
hi klausi
mit formeln kann ich nicht helfen :(
gruss nighty
mit formeln kann ich nicht helfen :(
gruss nighty
Antwort 5 von Klaus
Hai nighty,
du gibst dir ja richtig Mühe. Dafür vielen Dank.
Leider produziert das Makro einen Fehler.
Vielleicht kann ich dir mal die Mappe um die es geht in einer abgespeckten Version zumailen.
Vielleicht findest du eine Lösung. Mail mir doch mal deine Adresse.
Danke
Klaus
du gibst dir ja richtig Mühe. Dafür vielen Dank.
Leider produziert das Makro einen Fehler.
Vielleicht kann ich dir mal die Mappe um die es geht in einer abgespeckten Version zumailen.
Vielleicht findest du eine Lösung. Mail mir doch mal deine Adresse.
Danke
Klaus
Antwort 6 von Hofi76
Hallo
schon mal mit einer PIVOT Tabelle probiert??
schon mal mit einer PIVOT Tabelle probiert??
Antwort 7 von nighty
hi klausi
email adresse present :)
gruss nighty
email adresse present :)
gruss nighty
Antwort 8 von want2cu
@nighty:
du hattest so ein ähnliches Problem mal gelöst:
https://supportnet.de/discussion/listmessages.asp?AutoID=116388
Ich verstehe immer noch zu wenig von VBA, so dass ich nicht beurteilen kann, ob die damalige Lösung besser passt als deine aktuelle.
CU
want2cu
du hattest so ein ähnliches Problem mal gelöst:
https://supportnet.de/discussion/listmessages.asp?AutoID=116388
Ich verstehe immer noch zu wenig von VBA, so dass ich nicht beurteilen kann, ob die damalige Lösung besser passt als deine aktuelle.
CU
want2cu
Antwort 9 von Arnim
Hallo Klaus,
ich weiß nicht, ob das Problem schon gelöst ist (mit einem Makro?).
Es würde auch mit Formeln gehen, und zwar mit SVERWEIS/INDIREKT. Man müsste allerdings wissen, wie die Zusammenstellung aussieht und in welchen Spalten der Einzelblätter gesucht wird. Ich nehme an, dass z.B. die Namen im Gesamtblatt z.B. in Spalte A aufgelistet sind und in den daneben liegenden Spalten die Werte aus den Blättern geholt werden sollen!?
Gruß Arnim
ich weiß nicht, ob das Problem schon gelöst ist (mit einem Makro?).
Es würde auch mit Formeln gehen, und zwar mit SVERWEIS/INDIREKT. Man müsste allerdings wissen, wie die Zusammenstellung aussieht und in welchen Spalten der Einzelblätter gesucht wird. Ich nehme an, dass z.B. die Namen im Gesamtblatt z.B. in Spalte A aufgelistet sind und in den daneben liegenden Spalten die Werte aus den Blättern geholt werden sollen!?
Gruß Arnim
Antwort 10 von Arnim
Hallo Klaus,
Die E-Mail konnte ich erst spät lesen.
Da dies eine Frage im Forum ist, möchte ich auch hier die Antwort geben.
Deine demo.xls. Habe ich con 2 Blättern auf 8 erhöht, um es besser demonstrieren zu können.
Die Formel lautet:
=WENN($A2="";"";SVERWEIS(B$1;INDIREKT($A2&"!A:G");7;0))
Du kannst sie von links nach recht kopieren und zugleich nach unten.
Ich hoffe, dass ich alles richtig verstanden habe.
Das Beispiel kannst Du hier herunterladen:
SVERWEIS-Tabellen.xls
Gruß Arnim
Die E-Mail konnte ich erst spät lesen.
Da dies eine Frage im Forum ist, möchte ich auch hier die Antwort geben.
Deine demo.xls. Habe ich con 2 Blättern auf 8 erhöht, um es besser demonstrieren zu können.
Die Formel lautet:
=WENN($A2="";"";SVERWEIS(B$1;INDIREKT($A2&"!A:G");7;0))
Du kannst sie von links nach recht kopieren und zugleich nach unten.
Ich hoffe, dass ich alles richtig verstanden habe.
Das Beispiel kannst Du hier herunterladen:
SVERWEIS-Tabellen.xls
Gruß Arnim
Antwort 11 von nighty
hi alle
wussts ich doch das das geht mit den formeln :)
somit er auswahl jetzt hat was ihm besser gefaellt formel oder makro :)
dank an alle
gruss nighty
p.s.
achja wems gefaellt hier nochmal das fertige makro ,nur einfache uebertraege :(
die 100 ist maxanzahl der schueler bzw. blaetter
die 15 ist maxanzahl der zellen die uebertrgen werden,es werden alle tabellenblaetter ausgelesen und dann uebertragen von einer zwei dimensionierten var.
Sub makro()
Dim a1(15, 100)
For i% = 1 To Sheets.Count
Sheets(i%).Select
a1(1, i%) = Range("d3")
a1(2, i%) = Range("f9")
a1(3, i%) = Range("f11")
a1(4, i%) = Range("f13")
a1(5, i%) = Range("f15")
a1(6, i%) = Range("f17")
a1(7, i%) = Range("f19")
a1(8, i%) = Range("f21")
a1(9, i%) = Range("f23")
a1(10, i%) = Range("f25")
a1(11, i%) = Range("f27")
a1(12, i%) = Range("f29")
a1(13, i%) = Range("f37")
a1(14, i%) = Range("f45")
a1(15, i%) = Range("f48")
Next i%
Sheets("Statistik").Select
For i% = 1 To Sheets.Count - 1
Range("a" & i% + 1) = a1(1, i%)
Range("b" & i% + 1) = a1(2, i%)
Range("c" & i% + 1) = a1(3, i%)
Range("d" & i% + 1) = a1(4, i%)
Range("e" & i% + 1) = a1(5, i%)
Range("f" & i% + 1) = a1(6, i%)
Range("g" & i% + 1) = a1(7, i%)
Range("h" & i% + 1) = a1(8, i%)
Range("i" & i% + 1) = a1(9, i%)
Range("j" & i% + 1) = a1(10, i%)
Range("k" & i% + 1) = a1(11, i%)
Range("l" & i% + 1) = a1(12, i%)
Range("m" & i% + 1) = a1(13, i%)
Range("n" & i% + 1) = a1(14, i%)
Range("o" & i% + 1) = a1(15, i%)
Next i%
End Sub
wussts ich doch das das geht mit den formeln :)
somit er auswahl jetzt hat was ihm besser gefaellt formel oder makro :)
dank an alle
gruss nighty
p.s.
achja wems gefaellt hier nochmal das fertige makro ,nur einfache uebertraege :(
die 100 ist maxanzahl der schueler bzw. blaetter
die 15 ist maxanzahl der zellen die uebertrgen werden,es werden alle tabellenblaetter ausgelesen und dann uebertragen von einer zwei dimensionierten var.
Sub makro()
Dim a1(15, 100)
For i% = 1 To Sheets.Count
Sheets(i%).Select
a1(1, i%) = Range("d3")
a1(2, i%) = Range("f9")
a1(3, i%) = Range("f11")
a1(4, i%) = Range("f13")
a1(5, i%) = Range("f15")
a1(6, i%) = Range("f17")
a1(7, i%) = Range("f19")
a1(8, i%) = Range("f21")
a1(9, i%) = Range("f23")
a1(10, i%) = Range("f25")
a1(11, i%) = Range("f27")
a1(12, i%) = Range("f29")
a1(13, i%) = Range("f37")
a1(14, i%) = Range("f45")
a1(15, i%) = Range("f48")
Next i%
Sheets("Statistik").Select
For i% = 1 To Sheets.Count - 1
Range("a" & i% + 1) = a1(1, i%)
Range("b" & i% + 1) = a1(2, i%)
Range("c" & i% + 1) = a1(3, i%)
Range("d" & i% + 1) = a1(4, i%)
Range("e" & i% + 1) = a1(5, i%)
Range("f" & i% + 1) = a1(6, i%)
Range("g" & i% + 1) = a1(7, i%)
Range("h" & i% + 1) = a1(8, i%)
Range("i" & i% + 1) = a1(9, i%)
Range("j" & i% + 1) = a1(10, i%)
Range("k" & i% + 1) = a1(11, i%)
Range("l" & i% + 1) = a1(12, i%)
Range("m" & i% + 1) = a1(13, i%)
Range("n" & i% + 1) = a1(14, i%)
Range("o" & i% + 1) = a1(15, i%)
Next i%
End Sub
Antwort 12 von Arnim
Guten Morgen!
Ich habe gestern einen falschen "Link" erwischt :-(
Damit müsste es klappen:
http://www.herber.de/bbs/user/2139.xls
Gruß Arnim
Ich habe gestern einen falschen "Link" erwischt :-(
Damit müsste es klappen:
http://www.herber.de/bbs/user/2139.xls
Gruß Arnim
Antwort 13 von Klaus
So, die Lösung wurde gefunden.
Vielen Dank an euch alle, die mir geholfen haben.
Ihr seid klasse !!
Gruß
Klaus
Vielen Dank an euch alle, die mir geholfen haben.
Ihr seid klasse !!
Gruß
Klaus
Antwort 14 von Arnim
Hallo Klaus,
hab' Dank für die freundliche Rückmeldung!
Nighty hat es nach den Punkten ausgerichtet, was wohl auch erwünscht war. In meiner Formel hätte ich die Spalte "6" anstatt "7" einsetzen müssen. Aber das ist ja eigentlich kein Problem.
Noch einen schönen Tag!
Arnim
hab' Dank für die freundliche Rückmeldung!
Nighty hat es nach den Punkten ausgerichtet, was wohl auch erwünscht war. In meiner Formel hätte ich die Spalte "6" anstatt "7" einsetzen müssen. Aber das ist ja eigentlich kein Problem.
Noch einen schönen Tag!
Arnim
Antwort 15 von nighty
hi :)
herber de brrrr,der will nur bares sehen,ein glueck gibt es das sn TATAAA,und hoffentlich noch lange :)
gruss nighty
herber de brrrr,der will nur bares sehen,ein glueck gibt es das sn TATAAA,und hoffentlich noch lange :)
gruss nighty
Antwort 16 von Arnim
Hallo nighty,
ich bin überhaupt nicht neugierig! ;-)
Aber wie meinst Du das?
Gruß Arnim
ich bin überhaupt nicht neugierig! ;-)
Aber wie meinst Du das?
Gruß Arnim

