Supportnet Computer
Planet of Tech

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

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

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

Antwort 4 von nighty

hi klausi

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

Antwort 6 von Hofi76

Hallo
schon mal mit einer PIVOT Tabelle probiert??

Antwort 7 von nighty

hi klausi

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

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

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

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

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

Antwort 13 von Klaus

So, die Lösung wurde gefunden.

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

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

Antwort 16 von Arnim

Hallo nighty,
ich bin überhaupt nicht neugierig! ;-)
Aber wie meinst Du das?

Gruß Arnim