Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1356to1360
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
Datenblöcke in Tabelle
19.04.2014 11:29:52
Peter
Hallo,
in dieser Tabelle https://www.herber.de/bbs/user/90252.xlsx
Möchte ich bestimmte Daten aus dem Blatt Ausgangstabelle in das Blatt Zieltabelle übertragen. Im Original sind es etwa 100-200 Datenblöcke und die Aktion muss täglich ausgeführt werden. Wie kann ich das mit VBA regeln?
Gruß,
Peter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Daten umschaufeln
19.04.2014 12:09:18
Erich
Hi Peter,
warum willst du dabei VBA bemühen? Das geht mit ein paar Formeln:
 ABCD
1NameNr.DatumEinträge
2Paul1234567Fri 18Apr14 5:11:41 p.m.12
3Hans987654Fri 18Apr14 4:55:55 p.m.3
4    

Formeln der Tabelle
ZelleFormel
A2=WENN(ANZAHL2(Ausgangstabelle!$A:$A)<9*ZEILE(A1); "";INDEX(Ausgangstabelle!$B:$B;9*ZEILE($A1)-8))
B2=WENN(ANZAHL2(Ausgangstabelle!$A:$A)<9*ZEILE(B1); "";INDEX(Ausgangstabelle!$B:$B;9*ZEILE($A1)-5))
C2=WENN(ANZAHL2(Ausgangstabelle!$A:$A)<9*ZEILE(C1); "";INDEX(Ausgangstabelle!$B:$B;9*ZEILE($A1)-4))
D2=WENN(ANZAHL2(Ausgangstabelle!$A:$A)<9*ZEILE(D1); "";INDEX(Ausgangstabelle!$B:$B;9*ZEILE($A1)))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Wenn es doch VBA sein soll:
Warum?
Wie kommen die Daten in die Ausgangstabelle?
Wie/wodurch soll die VBA-Prozedur gestartet werden?
Was passiert mit den Vortages-Werten in der Zieltabelle? (Löschen bis Tabellenende?)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Daten umschaufeln
19.04.2014 14:17:05
Peter
Hallo,
erst mal Danke für die funktionierende Lösung.
Die Lösung mit VBA:
Warum?
Weil mir nicht bewusst war, dass es auch mit einer einfachen Formel geht, aber...
Wie kommen die Daten in die Ausgangstabelle?
Sie werden aus einer anderen Anwendung dort hinein kopiert und die Ausgangstabelle kann nach vollständiger Auswertung gelöscht werden.
Wie/wodurch soll die VBA-Prozedur gestartet werden?
Da reicht eine einfach Schaltfläche.
Was passiert mit den Vortages-Werten in der Zieltabelle? (Löschen bis Tabellenende?)
Die Tagesdaten sollen an die bestehende Zieltabelle angefügt werden. Dann muss noch händisch ein weiteres Feld ausgefüllt werden. Danach findet eine abschliessende Auswertung (Pivottabelle) statt.
Das Ganze soll, soweit es geht, auf Tastendruck :-) erfolgen. Ich bin mir noch nicht ganz sicher, welche Variante (VBA oder Formeln) die benutzerfreundlichere ist.
Gruß und Frohe Ostern
Peter

Anzeige
noch eine VBA-Variante
19.04.2014 17:36:44
Erich
Hi Peter,
"Die Tagesdaten sollen an die bestehende Zieltabelle angefügt werden" - das geht mit Formeln nicht so toll.
Diese nicht ganz unwesentliche Info konnte auch Tino noch nicht berücksichtigen.
In Tinos Mappe habe ich einen zweiten Button eingefügt, der das hier startet: Option Explicit Sub Uebertrage() Dim lngQ As Long, arQ, arZ(), lngZ As Long, zz As Long, qq As Long With Sheets("Ausgangstabelle") lngQ = .Cells(.Rows.Count, 1).End(xlUp).Row lngZ = lngQ / 9 If lngQ lngZ * 9 Then ' Neunerblöcke prüfen MsgBox "Die Zeilenzahl in '" & .Name & "' ist nicht durch 9 teilbar", _ vbCritical, "Abbruch in Uebertrage" Exit Sub End If arQ = .Cells(1, 2).Resize(lngQ) ' Quelldaten in Array End With ReDim arZ(1 To lngZ, 1 To 4) ' Übertrag in Zielarray For zz = 1 To lngZ qq = qq + 1: arZ(zz, 1) = arQ(qq, 1) ' 1 Name qq = qq + 3: arZ(zz, 2) = arQ(qq, 1) ' 4 Nr qq = qq + 1: arZ(zz, 3) = arQ(qq, 1) ' 5 earliest qq = qq + 4: arZ(zz, 4) = arQ(qq, 1) ' 9 Einträge Next zz With Sheets("Zieltabelle") ' Ausgabe zz = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 ' unter letzten Eintrag .Cells(zz, 1).Resize(lngZ, 4) = arZ End With End Sub Die Prozedur kümmert sich überhaupt nicht darum, was in Spalte A der Ausgangsdaten steht.
Hier die Mappe:
https://www.herber.de/bbs/user/90259.xlsm
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich und: Schöne Ostern allerseits!

Anzeige
AW: noch eine VBA-Variante
19.04.2014 21:48:43
Peter
Danke für diese weiter Möglichkeit. Ich fuchse mich gerade in VBA ein und verstehe leider nicht alles auf Anhieb.
Ich hatte die folgende Lösung für das anfügen verwendet:
Sub Auszug()
ErsteFreie = ActiveSheet.Cells(1048576, 1).End(xlUp).Row + 1
With Tabelle2
.Range("A" & ErsteFreie & ":A" & .Rows.Count).Resize(, UBound(oDic) + 1).ClearContents
For n = LBound(oDic) To UBound(oDic)
If oDic(n).Count > 0 Then
.Cells(ErsteFreie, n + 1).Resize(oDic(n).Count) = Application.Transpose(oDic(n). _
items)
End If
Next n
End With
End Sub
Deine Lösung hat mich zumindest noch auf das Prüfen und Behandeln von Fehleingaben gebracht :-)
Gruß,
Peter

Anzeige
AW: noch eine VBA-Variante
19.04.2014 23:08:24
Uwe
Hallo nochmal,
hatte mich heute nachmittag auch mit dem Thema befasst. war nur zwischendurch mal ne Runde Fahrrad fahren an der Elbe und Grillen:-)
Meine Variante war ne For Next Schleife und das kopieren der Daten nach Zieltabelle. Wenn die Ausgangstabelle nach Auswertung gelöscht wird, sollte das auch ne funktionierende Lösung sein.
Sub copy_Daten()
Dim i As Long
Dim Lz As Long, Lzz1 As Long, Lzz2 As Long, Lzz3 As Long, Lzz4 As Long
Application.ScreenUpdating = False
Lzz1 = Cells(Rows.Count, 1).End(xlUp).Row
Lzz2 = Cells(Rows.Count, 2).End(xlUp).Row
Lzz3 = Cells(Rows.Count, 3).End(xlUp).Row
Lzz4 = Cells(Rows.Count, 4).End(xlUp).Row
With Sheets("Ausgangstabelle")
Lz = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To Lz Step 8
.Cells(i, 2).Copy Destination:=Sheets("Zieltabelle").Cells(Lzz1 + 1, 1)
Lzz1 = Lzz1 + 1
Next
For i = 4 To Lz Step 8
.Cells(i, 2).Copy Destination:=Sheets("Zieltabelle").Cells(Lzz2 + 1, 2)
Lzz2 = Lzz2 + 1
Next
For i = 5 To Lz Step 8
.Cells(i, 2).Copy Destination:=Sheets("Zieltabelle").Cells(Lzz3 + 1, 3)
Lzz3 = Lzz3 + 1
Next
For i = 7 To Lz Step 8
.Cells(i, 2).Copy Destination:=Sheets("Zieltabelle").Cells(Lzz4 + 1, 4)
Lzz4 = Lzz4 + 1
Next
End With
Application.ScreenUpdating = True
End Sub
Frohe Ostern und Grüße aus Dresden
Uwe

Anzeige
AW: Datenblöcke in Tabelle
19.04.2014 14:17:49
Peter
Super, danke für die funktioniereden Lösung.
Gruß und frohe Ostern
Peter

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige