![]() |
EXCEL tabellenblätter verknüpfen
Hallo zusammen. bin gerade in der arbeit und versuche eine größere tabelle zu bauen.(excel 2002)
Mein Problem: ich habe ein Tabellenblatt wo ich namen adressen und co eintrage. DAZU kommt ein vermerk, z.b. G für Gut und N für Normal und S für Schlecht bekommt eine Zeile jetzt ein G, soll er auf einem anderen tabellenblatt, welches NUR die "g-leute" enthält automatisch erscheinen. dort sollen dann alle zeilen drinnen stehen, welche mit G markiert worden sind. also für normal und schlecht auch ein blatt wo dann die jeweilig markierten zeilen erscheinen. sorry kacke geschrieben, aber ich darf nicht so lange im netz hängen:rolleyes: dankeee |
das war glaube ich irgendwas mit Sheet("Name") oder Worksheet("name").
Falls net sind das auf alle fälle suchbegriffe für deine Lieblingssuchmaschine. Achja, mit VBA haste abr schon erfahrung? |
steht doch da... 2 Tabellenblätter in Excel.
|
richtig, habs immernoch net^^
|
oder ich mach es andersrum, und führe 3 tabellenblätter, welche auf dem letztem blatt alle zusammen geführt werden. quasi alle zeilen von 3 blättern auf eines zusammengefasst.
haut aber auch nich so hin wie ich will |
Hallo!
Soll das Ganze jeweils sofort bei Eintrag von G, S... geschehen oder willst du einen Button dafür, sprich Ausführung nur auf Befehl. Zweiteres solllte nicht allzu schwierig sein, ersters ist glaube ich nicht ohne weiteres möglich, da der Zelleninhalt "überwacht" werden müsste. Lg |
je nachdem wie es funzt! hauptsache ich muss jeden datensatz nich 100x eingeben.
sozusagen einmal eingeben mit dem "kennzeichen" und die tabelle gliedert den datensatz auf dem tabellenblatt ein wo es hinsoll... |
Hi,
also dann hier mein Vorschlag (Variante eintragen in 3 Blätter, Zusammenfassung auf 1, funktioniert aber ähnlich anders herum auch). 1. Zusammenfassungsblatt leeren 2. Schleife über alle 3 Blätter laufen lassen die Einträge hintereinander auf das Zusammenfassungsblatt kopieren. oder umgekehrt 1. 3 aufgeteilte Blätter leeren 2. Zusammenfassungsblatt durchgehen, Einträge G,S etc. überprüfen und je nachdem in 1 Blatt einordnen Benötigst du Code oder schaffst du das selbst? |
Zeig mal bitte code, kapier nich ganz wie du das meinst :/
ein blatt, das mir alle leute automatisch aus 3 blättern (in die man einträgt) zusammenfasst wäre schon ganz gut. ein blatt (wo man alle datensätze mit kennzeichen einträgt) , welches die kennzeichen prüft und dann selber auf das passende blatt einordnet wäre natürlich praktischer. |
Ist in Arbeit, dauert aber etwas.
|
dankedanke :D
|
Hi,
das kopierst du in ein Modul rein und führst es dann immer aus, wenn du was eingetragen hast. Da immer alle Einträge abgearbeitet werden immer erst anstarten, wenn du alle neuen Einträge eingegeben hast. Kann abhängig von der Anzahl der Einträge auch einmal länger dauern, in der Zwischenzeit nicht in Excel rumklicken. Die Überschriften in deinen Teilblättern werden auch gelöscht, also die müßtest du noch im Code einfügen damit du sie nicht immer neu eintippen mußt. Zu ändern sind: - die Namen deiner Blätter - die Startzeile wo deine Einträge anfangen (Annahme in allen Blättern gleich sonst mußt du das ändern) - die Spalte in der dein Kriterium steht Hinzuzufügen: - Überschriften und Formatierung der Überschriften für die Teilblätter Achtung: - Kopiert wird die ganze Zeile, ich gehe also davon aus, dass die Spaltenanzahl und Position in allen Blättern gleich ist. - Unbedingt an einer Kopie erst einmal probieren und überprüfen ob alles paßt. Auf jeden Originaldatei behalten. - Keine Garantie falls es nicht funktioniert oder Fehler verursacht. Habs mal schnell runtergeschrieben, läßt sich bestimmt noch verbessern. Option Explicit Private Const row_start As Integer = 2 Private Const col_kriterium As Integer = 9 Sub Start() Dim cur_sheet As Excel.Worksheet Dim main_sheet As Excel.Worksheet Dim good_sheet As Excel.Worksheet Dim bad_sheet As Excel.Worksheet Dim normal_sheet As Excel.Worksheet Dim cnt_row As Long Dim kriterium As String Dim cur_row_g As Long Dim cur_row_b As Long Dim cur_row_n As Long Dim cnt As Integer cur_row_g = row_start cur_row_b = row_start cur_row_n = row_start Set main_sheet = ThisWorkbook.Worksheets("Zusammenfassung") Set good_sheet = ThisWorkbook.Worksheets("gut") Set bad_sheet = ThisWorkbook.Worksheets("schlecht") Set normal_sheet = ThisWorkbook.Worksheets("normal") good_sheet.Cells.ClearContents bad_sheet.Cells.ClearContents normal_sheet.Cells.ClearContents cnt_row = row_start Do Until (main_sheet.Cells(cnt_row, 1)) = "" kriterium = UCase(main_sheet.Cells(cnt_row, col_kriterium)) Select Case kriterium Case "G" main_sheet.Rows(cnt_row & ":" & cnt_row).Copy good_sheet.Activate good_sheet.Rows(cur_row_g & ":" & cur_row_g).Select good_sheet.Paste cur_row_g = cur_row_g + 1 Case "S" main_sheet.Rows(cnt_row & ":" & cnt_row).Copy bad_sheet.Activate bad_sheet.Rows(cur_row_b & ":" & cur_row_b).Select bad_sheet.Paste cur_row_b = cur_row_b + 1 Case "N" main_sheet.Rows(cnt_row & ":" & cnt_row).Copy normal_sheet.Activate normal_sheet.Rows(cur_row_n & ":" & cur_row_n).Select normal_sheet.Paste cur_row_n = cur_row_n + 1 Case Else MsgBox "Kein (richtiges) Kennzeichen eingetragen. Reihe " & cnt_row End Select cnt_row = cnt_row + 1 Loop End Sub |
wtf excel profi oder was o.o
sowas hab ich ja noch nie gemacht, ich hoffe ich krieg das hin o.o aber vielen dank, das is ne große hilfe! |
sorry bin zu blöd dafür, hab grad festgestellt, dass ich wohl n excel noob in sachen makros und co bin..
kann ich dir meine mappe mal schicken? würde die leute dann durch mustermänner ersetzen.. |
Hi,
du kannst sie mir gern schicken, dann mach ich dir das. Aber woran hängts denn? Viell. kann ich dir ja helfen, dass du es selber schaffst. |
habs dir als PN geschickt ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:32 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.