Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inhalte diverser Tab. in neuer Tab anordnen

Inhalte diverser Tab. in neuer Tab anordnen
14.04.2007 15:29:36
Fritz_W
Hallo Forumsbesucher,
ich benötige die Hilfe der "VBA-Kundigen" unter euch.
In der Tabelle "Uebersicht" sollen (bestimmte) Inhalte anderer Tabellen zusammengefasst werden.
Es handelt sich um die Tabellen, deren Tabellenname identisch ist mit Einträgen in den Zellen C3, E3, G3, I3, K3 und M3 der Tabelle "Uebersicht".
Einen Auszug aus der Tabelle (beschränkt auf den Bereich für die ersten beiden Tabellen, somit bis zur Spalte F) ist nachfolgend dargestellt. Dieser Tabellenausschnitt beinhaltet bereits die Werte, die durch das Makro aus der Tabelle "T1" kopiert - und als Wert eingefügt - werden sollen. Entsprechend sollten nach dem gleichen Schema aus den anderen Tabellen deren Tabellenname in den o.a. Zellen enthalten ist, die Werte - jeweils um zwei Spalten nach rechts versetzt - in die Tabelle "Uebersicht" übernommen werden. Zu beachten ist, dass der erste "T"-Eintrag aus der Quelltabelle (Spalte B ab Zeile 5) in der Zieltabelle "Uebersicht" immer in die Zeile 5 kommt, der erste "A"-Eintrag in die Zeile 10, erster "M"-Eintrag immer in Zeile 30, erster "S"-Eintrag immer in Zeile 50 kommt. Aus der jeweiligen Quelltabelle werden nur die Werte aus den Spalten A und C übernommen. Am Beispiel der nachfolgenden Tabellenauszüge der Quelltabelle "T1" und der Zieltabelle "Uebersicht" soll deutlich werden, was das Makro "leisten" soll.
Ich hoffe, dass mein Anliegen für euch nachvollziehbar ist und bedanke mich bereits im Voraus für eure Unterstützung.
mfg
Fritz
T1

 ABC
4   
5Text 1TZ1
6Text 2TZ2
7Text 3TZ3
8Text 4AZ4
9Text 5AZ5
10Text 6AZ6
11Text 7AZ7
12Text 8AZ8
13Text 9AZ9
14Text 10AZ10
15Text 11AZ11
16Text 12AZ12
17Text 13MZ13
18Text 14MZ14
19Text 15MZ15
20Text 16MZ16
21Text 17MZ17
22Text 18MZ18
23Text 19MZ19
24Text 20MZ20
25Text 21MZ21
26Text 22MZ22
27Text 23MZ23
28Text 24MZ24
29Text 25MZ25
30Text 26SZ26
31Text 27SZ27
32Text 28SZ28
33Text 29SZ29
34Text 30SZ30


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Uebersicht

 BCDEF
3 T1 T2 
4   
5 Text 1Z1  
6Text 2Z2  
7Text 3Z3  
8    
9    
10 Text 4Z4  
11Text 5Z5  
12Text 6Z6  
13Text 7Z7  
14Text 8Z8  
15Text 9Z9  
16Text 10Z10  
17Text 11Z11  
18Text 12Z12  
19    
20    
21    
22    
23    
24    
25    
26    
27    
28    
29    
30 Text 13Z13  
31Text 14Z14  
32Text 15Z15  
33Text 16Z16  
34Text 17Z17  
35Text 18Z18  
36Text 19Z19  
37Text 20Z20  
38Text 21Z21  
39Text 22Z22  
40Text 23Z23  
41Text 24Z24  
42Text 25Z25  
43    
44    
45    
46    
47    
48    
49    
50 Text 26Z26  
51Text 27Z27  
52Text 28Z28  
53Text 29Z29  
54Text 30Z30  
55    
56    
57    
58    
59    
60    
61    
62    
63    
64    
65     

Formeln der Tabelle
ZelleFormel
C3=WENN(ISTTEXT(Daten!A1); Daten!A1;"")
E3=WENN(ISTTEXT(Daten!B1); Daten!B1;"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalte diverser Tab. in neuer Tab anordnen
14.04.2007 17:35:00
fcs
Hallo Fritz,
hier mein Lösungsvorschlag
Gruß
Franz
Sub UebersichtAusfuellen() Dim wksUe As Worksheet, wksT As Worksheet Dim lgZA As Long, lgZM As Long, lgZS As Long, lgZT As Long Dim Zeile As Long, Spalte As Integer Set wksUe = Worksheets("Übersicht") With wksUe 'vorhandene Einträge löschen .Range(.Cells(5, 2), .Cells.SpecialCells(xlCellTypeLastCell)).ClearContents 'Tabellennamen in Zeile 3 der Übersicht abarbeiten For Spalte = 2 To .Cells(3, .Columns.Count).End(xlToLeft).Column Step 2 'Startzeilen für die 4 Bereiche T, A, M und S lgZT = 5 lgZA = 10 lgZM = 30 lgZS = 50 'Prüfen, ob Tabelle vorhanden und ggf. Daten übertragen For Each wksT In ThisWorkbook.Worksheets If wksT.Name = .Cells(3, Spalte).Value Then 'Zeilen in Teilnehmer-Tabellen abarbeiten und Werte in Übersicht eintragen For Zeile = 5 To wksT.Cells(wksT.Rows.Count, 1).End(xlUp).Row 'Eintrag in Spalte 2 (B) prüfen Select Case wksT.Cells(Zeile, 2).Value Case "A" .Cells(lgZA, Spalte).Value = wksT.Cells(Zeile, 1).Value .Cells(lgZA, Spalte + 1).Value = wksT.Cells(Zeile, 3).Value lgZA = lgZA + 1 Case "M" .Cells(lgZM, Spalte).Value = wksT.Cells(Zeile, 1).Value .Cells(lgZM, Spalte + 1).Value = wksT.Cells(Zeile, 3).Value lgZM = lgZM + 1 Case "S" .Cells(lgZS, Spalte).Value = wksT.Cells(Zeile, 1).Value .Cells(lgZS, Spalte + 1).Value = wksT.Cells(Zeile, 3).Value lgZS = lgZS + 1 Case "T" .Cells(lgZT, Spalte).Value = wksT.Cells(Zeile, 1).Value .Cells(lgZT, Spalte + 1).Value = wksT.Cells(Zeile, 3).Value lgZT = lgZT + 1 Case Else 'do nothing End Select Next Exit For End If Next If wksT Is Nothing And .Cells(3, Spalte).Value "" Then MsgBox "Tabelle '" & .Cells(3, Spalte).Value & "' existiert noch nicht!" End If Next End With End Sub


Anzeige
AW: Inhalte diverser Tab. in neuer Tab anordnen
14.04.2007 18:37:00
Fritz_W
Hallo Franz,
freut mich sehr, dass ich wieder einmal auf Deine Unterstützung zählen kann.
Toll, dass Du Dir bei der vielen Arbeit noch die zusätzliche Mühe machst, den Code zu kommentieren.
So können Laien wie ich leichter lernen, solche Codes zu lesen und irgendwie (irgendwann) mal auch zu verstehen. Leider stecke ich immer noch im Anfangsstadium meiner Bemühungen.
Deshalb ist es für mich leider nicht nachvollziehbar, wieso dein Makro nicht alles erledigt, was es soll.
Das Makro säubert zunächst die Tabelle "Übersicht", das ist auch so gewollt. Die entsprechenden Daten werden jedoch nicht in diese Tabelle eingefügt. Ich habe deshalb eine Beispieldatei hochgeladen, damit Du besser nachvollziehen kannst, woran es hakt.
Noch einmal ein herzliches Dankeschön für die viele Arbeit, die ihr Profis immer wieder für solche Leute wie mich mit deren "speziellen" Wünschen hier in diesem Forum leistet.
Gruß
Fritz
https://www.herber.de/bbs/user/41760.xls

Anzeige
AW: Inhalte diverser Tab. in neuer Tab anordnen
14.04.2007 19:13:00
fcs
Hallo Fritz,
irgendwie hatte ich mich beim Anlegen meiner Testdatei um eine Spalte vertan, so dass die Tabellennamen in meiner Übersicht in Splate B begannen.
Ich habe die 2 als Startwert der Spalte für die For-Schleife und in der Zelladresse zum Löschen der Altdaten in 3 geändert.
Gruß
Franz

Sub UebersichtAusfuellen()
Dim wksUe As Worksheet, wksT As Worksheet
Dim lgZA As Long, lgZM As Long, lgZS As Long, lgZT As Long
Dim Zeile As Long, Spalte As Integer
Set wksUe = Worksheets("Übersicht")
With wksUe
'vorhandene Einträge löschen
.Range(.Cells(5, 3), .Cells.SpecialCells(xlCellTypeLastCell)).ClearContents '##geändert
'Tabellennamen in Zeile 3 der Übersicht abarbeiten
For Spalte = 3 To .Cells(3, .Columns.Count).End(xlToLeft).Column Step 2 '##geändert
'Startzeilen für die 4 Bereiche T, A, M und S
lgZT = 5
lgZA = 10
lgZM = 30
lgZS = 50
'Prüfen, ob Tabelle vorhanden und ggf. Daten übertragen
For Each wksT In ThisWorkbook.Worksheets
If wksT.Name = .Cells(3, Spalte).Value Then
'Zeilen in Teilnehmer-Tabellen abarbeiten und Werte in Übersicht eintragen
For Zeile = 5 To wksT.Cells(wksT.Rows.Count, 1).End(xlUp).Row
'Eintrag in Spalte 2 (B) prüfen
Select Case wksT.Cells(Zeile, 2).Value
Case "A"
.Cells(lgZA, Spalte).Value = wksT.Cells(Zeile, 1).Value
.Cells(lgZA, Spalte + 1).Value = wksT.Cells(Zeile, 3).Value
lgZA = lgZA + 1
Case "M"
.Cells(lgZM, Spalte).Value = wksT.Cells(Zeile, 1).Value
.Cells(lgZM, Spalte + 1).Value = wksT.Cells(Zeile, 3).Value
lgZM = lgZM + 1
Case "S"
.Cells(lgZS, Spalte).Value = wksT.Cells(Zeile, 1).Value
.Cells(lgZS, Spalte + 1).Value = wksT.Cells(Zeile, 3).Value
lgZS = lgZS + 1
Case "T"
.Cells(lgZT, Spalte).Value = wksT.Cells(Zeile, 1).Value
.Cells(lgZT, Spalte + 1).Value = wksT.Cells(Zeile, 3).Value
lgZT = lgZT + 1
Case Else
'do nothing
End Select
Next
Exit For
End If
Next
If wksT Is Nothing And .Cells(3, Spalte).Value  "" Then
MsgBox "Tabelle  '" & .Cells(3, Spalte).Value & "'  existiert noch nicht!"
End If
Next
End With
End Sub


Anzeige
AW: Inhalte diverser Tab. in neuer Tab anordnen
14.04.2007 19:19:00
Fritz_W
Hallo Franz,
jetzt funktioniert das Ganze! Besten Dank!
Hab dennoch noch einen Wunsch: Wäre es möglich, dass man den Code so ändert, dass in der Tabelle "Übersicht" nur die Zeilen bis einschließlich Zeile 64 geleert werden.
Ansonsten nochmaligen Dank und ein schönes (sonniges) WE
Gruß
Fritz

AW: Inhalte diverser Tab. in neuer Tab anordnen
14.04.2007 20:23:00
fcs
Hallo Fritz,
kein Problem

'vorhandene Einträge löschen
.Range(.Cells(5, 3), .Cells(64, 18)).ClearContents '##geändert


Die Zahl für die Spalte muss du ggf noch anpassen, max. 255 ist möglich
Ciao
Franz

Anzeige
Danke!! o.w.T
14.04.2007 22:17:06
Fritz_W
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige