Thema Datum  Von Nutzer Rating
Antwort
27.02.2008 13:52:34 Tina H
NotSolved
27.02.2008 16:46:41 Holger
NotSolved
28.02.2008 07:52:48 Tina
NotSolved
Blau Aw:Aw:Aw:verschiedene Tabblätter durchsuchen/vergl
28.02.2008 13:12:23 Holger
NotSolved
28.02.2008 15:23:23 tina
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
28.02.2008 13:12:23
Views:
639
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:verschiedene Tabblätter durchsuchen/vergl
Hallo Tina,
öffne den VBA-Bildschirm (Makros) und erzeuge dir eine UserForm, die du „Zusammen“ nennst. Füge 2 Bezeichnungsfelder (Label1 und -2), 2 Listenfelder (ListBox1 und -2) sowie 2 Befehlsschaltflächen (CommandBotton1 und -2) ein und positioniere sie etwa so:
+-------------------------------------------------------+
| +------------------------+ +---------------------+ |
| | Label1 | | Label2 | |
| +------------------------+ +---------------------+ |
| |
| +------------------------+ +---------------------+ |
| | | | | |
| | | | | |
| | | | | |
| | ListBox1 | | ListBox2 | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +------------------------+ +---------------------+ |
| |
| +------------------------+ +---------------------+ |
| | CommandButton1 | | CommandButton1 | |
| +------------------------+ +---------------------+ |
| |
+---------------------------------------------------------+

Dann füge folgende Prozeduren in das Codefenster der UserForm ein:

Private Sub CommandButton2_Click()
Unload Zusammen
End Sub

Private Sub UserForm_initialize()
Zusammen.Caption = "Namen zusammenführen"
Label1.Caption = "Quelltabellen auswählen!"
ListBox1.MultiSelect = fmMultiSelectExtended
For Each wsh In Worksheets
ListBox1.AddItem wsh.Name
Next
Label2.Caption = "Zieltabelle auswählen!"
ListBox2.MultiSelect = fmMultiSelectSingle
For Each wsh In Worksheets
ListBox2.AddItem wsh.Name
Next
CommandButton1.Caption = "Zusammenführen"
CommandButton2.Caption = "Abbrechen"
End Sub
Sub CommandButton1_Click()
Dim UR As Range, t1, t2, t3, t4, a1, a2, a3, a4, MaxTab, i, t()
d = -1: ReDim tq(0)
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
d = d + 1
ReDim Preserve tq(d)
tq(d) = ListBox1.List(i, 0)
End If
Next i
tz = ListBox2.Text
If d = -1 Or tz = "" Then Exit Sub
If d = 0 Then
Sheets(tq(0)).Activate
Cells.Copy
Sheets(tz).Activate
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
Exit Sub
End If
ReDim a(d)
For i = 0 To d
Set UR = Worksheets(tq(i)).UsedRange
a(i) = UR.Rows.Count
Next i
Set UR = Nothing
v = Left("12345678", d + 1)
zNr = 0
Worksheets(tz).Select
Cells.Select
Selection.ClearContents
Range("A1").Select
For i = 1 To a(0)
s = Worksheets(tq(0)).Cells(i, 1)
If s <> "" Then
For j = 1 To d
Ngef = "1"
For k = 1 To a(j)
If s = Worksheets(tq(j)).Cells(k, 1) Then
Ngef = Ngef + CStr(j + 1)
Exit For
End If
Next k
Next j
End If
If Ngef = v Then
For l = 1 To zNr
If s = Worksheets(tz).Cells(l, 1) Then GoTo weiter
Next l
For l = 0 To d
For m = 1 To a(d)
If s = Worksheets(tq(l)).Cells(m, 1) Then
zNr = zNr + 1
Worksheets(tq(l)).Rows(m).Copy
Rows(zNr).Select
ActiveSheet.Paste
End If
Next m
Next l
End If
weiter:
Next i
Unload Zusammen
End Sub

Wenn du die UserForm startest, kannst du in der ListBox1 die Quelltabellen auswählen. Die Mehrfachwahl funktioniert genauso wie im MS-Explorer mit der Umschalt- oder Strg-Taste. In derListBox2 wählst du die Zieltabelle aus. Ich habe das so gewählt, weil ich nicht weiß, ob du immer genau 4 Blätter vergleichen willst und wie diese heißen. Taucht auf einem Tabellenblatt ein Name mehrfach auf, werden alle Zeilen mit diesem Namen zusammengeführt. Die Ausgangstabellen bleiben unverändert.
Viel Erfolg
Holger




Tina schrieb am 28.02.2008 07:52:48:

Danke erstmal für die schnelle antwort, sorry, dass ich micherst jetzt wieder melde.....
also es soll nur dann kopiert werden, wenn in den durchsuchten blättern die namen gleich sind, das heißt, wenn die namen in allen blättern gleich sind, sollen jeweils die zeilen komplett kopiert werden, das bedeutet
bei meinem beispiel also zweimal müller zeile, zweimal meier zeile und zweimal die horst zeile.... in ein nuees Tabellenblatt. Das bedeutet nur die namen müssen übereinstimmen........die zahlen sollen sogar unterschiedlich sein.......

warum ich sowas brauche liegt daran, ich möchte diese blätter aus einem programm in excel kopieren und dann durch einen makro durchsuchen lassen.....findet der makro namen die auf allen vieblättern gleich sind, soll er jeweils die gesamten zeilen inkl. name + zahlen in ein neues arbeitsblatt kopieren. in diesem blatt möchte ich dann die kopierten werte also namen und zahlen mit einer neuen Tabelle vergleichen........und dann einzelne werte nach einer art rangliste in ein anderes blatt kopieren....aber das steht momentan noch nicht zur frage, da ich erstmal hoffe, das du mir bei dem ersten problem weiterhelfen kannst.....

vielen dank Tina!!!





Holger schrieb am 27.02.2008 16:46:41:

Hallo Tina,
ich verstehe nicht ganz, was du wirklich vergleichen und kopieren willst.
Deine erste Aussage ist, dass nur dann in ein neues Blatt kopiert werden soll, wenn in allen vier Tabellenblätter die Einträge in einer Zeile übereinstimmen. Meinst du, dass die Namen übereinstimmen oder auch die dahinterstehenden Zahlen?
Gemäß deiner zweiten Aussage ist zu vermuten, dass nur die Namen übereinzustimmen brauchen. Sollen die Namen in allen vier Blättern auftauchen oder reicht es, dass sie auf mindestens zwei enthalten sind? Wie soll dann das Ergebnis aussehen? Vielleicht gem. deinem Beispiel so?
A B C D E
Meier 005 001 007 004
Müller 004 002 003
Horst 003 001 002
Bitte präzisiere deine Spezifikation.
Gruß
Holger

Tina H schrieb am 27.02.2008 13:52:34:

Hallo@all,

ich habe ein Problem mit meinem Office xp excel....2003

und zwar ich möchte kurz mein problem erläutern:

ich habe eine Arbeitsmappe, in der mehrere Tabbellenblätter sind (8). In dieser Mappe möchte ich nun in (4 Tabellenblättern) zeilen und spalten miteinander vergleichen. wenn in allen Blättern gleiche Einträge sind, sollen diese kopiert werden und in ein anderes Tabellenblatt(neu) eingefügt werden. Das Problem hier ist es, dass nicht dur die übereinstimmenden Namen kopiert werden sollen, sondern auch das was rechts davon steht...

A B C
Meier 005 001
Müller 004 002
Horst 003 001

Tabellenblatt 1

A B C
Meier 007 004
Müller 003 002
Horst 002 001

Tabellenblatt 2

also hier sollten jetzt alle Namen kopiert und jeweils das was rechts davon steht kopiert werden, es sei denn, die Zahlen wären gleich, dann müsste man es nicht kopieren......

Gibt es eine möglichkeit ein Suchkriterium zu setzten bsp. gleicher Name und dann diese Tabellenblätter zu durchsuchen und dann die gesamten zeilen der gefundenen übereinstimmungen in ein anderes(neues blatt) zu kopieren....

hoffe jemand hat da ne idee, denn ich bin schwer ratlos!!!!!

Bin für jeden Tipp und jede Hilfe unendlich Dankbar

Liebe Grüße Tina

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.02.2008 13:52:34 Tina H
NotSolved
27.02.2008 16:46:41 Holger
NotSolved
28.02.2008 07:52:48 Tina
NotSolved
Blau Aw:Aw:Aw:verschiedene Tabblätter durchsuchen/vergl
28.02.2008 13:12:23 Holger
NotSolved
28.02.2008 15:23:23 tina
NotSolved