Anzeige
Archiv - Navigation
964to968
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
964to968
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten umkopieren

Daten umkopieren
10.04.2008 17:26:13
jens
hallo leute
hab mal ein problem
möchte daten aus tabelle1 in einer tabelle2 auflisten und das per makro hat da vielleicht jemand ne idee?
bsp. tabelle1
name nr. werte
aaa 1 123,456,789
bbb 2 589,963
ccc 3 852,025,951,753
usw.
tabelle 2 (ergebnis)
name nr. werte
aaa 1 123
456
789
bbb 2 589
963
ccc 3 852
025
951
753
usw.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten umkopieren
10.04.2008 17:53:00
Erich
Hallo Jens,
probier das mal:

Option Explicit
Sub Aufteile()
Dim zQ As Long, zZ As Long, varA, ii As Integer
With ActiveSheet
Worksheets.Add
Columns("A").NumberFormat = "@"
Columns("C").NumberFormat = "@"
While Not IsEmpty(.Cells(zQ + 1, 1))
zQ = zQ + 1
zZ = zZ + 1
Cells(zZ, 1).Resize(, 2) = .Cells(zQ, 1).Resize(, 2).Value
If Not IsEmpty(.Cells(zQ, 3)) Then
varA = Split(.Cells(zQ, 3), ",")
Cells(zZ, 3) = varA(0)
For ii = 1 To UBound(varA)
zZ = zZ + 1
Cells(zZ, 1) = varA(ii)
Next ii
End If
Wend
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Daten umkopieren
10.04.2008 18:11:00
jens
hallo erich
erst mal vielen dank, aber leider nicht ganz so wie ich meinte
die spalte c soll beim komma getrennt werden und dann in der tabelle 2 auch in spalte c untereinander stehen und es wird jedes mal eine neue tabelle angelegt. ich würde gern die tabelle 2 immer überschreiben.
vielleicht kanst du mir ein paar bemerkungen ins makro schreiben wenn ich später mal die spaltenanzahl zu bsp. ändern möchte.
gruß jens

AW: Daten umkopieren
10.04.2008 18:29:00
Erich
Hi Jens,
das war so nicht zu sehen, wie du es haben möchtest.
Probier mal das hier:

Option Explicit
Sub Aufteile()
Dim zQ As Long, zZ As Long, varA, ii As Integer
With Worksheets("Tabelle1")
Worksheets("Tabelle2").Activate
Cells.ClearContents
Columns("C").NumberFormat = "@"
While Not IsEmpty(.Cells(zQ + 1, 1))
zQ = zQ + 1
zZ = zZ + 1
Cells(zZ, 1).Resize(, 2) = .Cells(zQ, 1).Resize(, 2).Value
If Not IsEmpty(.Cells(zQ, 3)) Then
varA = Split(.Cells(zQ, 3), ",")
Cells(zZ, 3) = varA(0)
For ii = 1 To UBound(varA)
zZ = zZ + 1
Cells(zZ, 3) = varA(ii)
Next ii
End If
Wend
End With
End Sub

Hast du bestimmte Fragen zum Code?
Sonst weiß ich nicht, wo ich mit dem Kommentieren anfangen und aufhören sollte.
Teilweise wird dir auch schon die VBA-Hilfe Fragen beantworten können.
Wo nicht, melde dich bitte!
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Daten umkopieren
10.04.2008 18:40:36
jens
Hallo erich
genau so meinte ich das.
funktioniert super.
mit den kommentaren meinte ich z.b. welcher teil des marko´s trennt die werte
und was muss ich ändern wenn noch ein vorname dazu kommt.
Gruß jens

AW: Daten umkopieren
10.04.2008 19:05:41
Erich
Hi Jens,
wenn die ersten drei Spalten "wie sie sind" übertragen und die vierte Spalte gesplittet werden soll,
geht das so:

Option Explicit
Sub Aufteile2()
Dim zQ As Long, zZ As Long, varA, ii As Integer
With Worksheets("Tabelle1")
Worksheets("Tabelle2").Activate
Cells.ClearContents
Columns("C").NumberFormat = "@"
While Not IsEmpty(.Cells(zQ + 1, 1))
zQ = zQ + 1
zZ = zZ + 1
Cells(zZ, 1).Resize(, 3) = .Cells(zQ, 1).Resize(, 3).Value
If Not IsEmpty(.Cells(zQ, 4)) Then
varA = Split(.Cells(zQ, 4), ",")
Cells(zZ, 3) = varA(0)
For ii = 1 To UBound(varA)
zZ = zZ + 1
Cells(zZ, 4) = varA(ii)
Next ii
End If
Wend
End With
End Sub

Vergleich doch mal diesen Code mit dem vorigen - dann siehst du die Änderungen.
Das Auftrennen passiert mit der Split-Funktion (wie der Name schon sagt):
varA = Split(.Cells(zQ, 4), ",")
Damit wird der Text aus Zelle in Zeile Spalte zQ, Spalte 4 anhand des Trennzeichens "," aufgeteilt.
Das Ergebnis steht dann im Variant-Datenfeld varA.
varA besteht aus des Teilen varA(0), varA(1), ... bis varA(n)
n ist Ubound(varA), die Nummer des letzten Eintrags in varA.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Daten umkopieren
10.04.2008 19:19:00
jens
Hallo erich
vielen dank für deine schnelle hilfe
ich habe die makro´s verglichen und die änderungen nachvollzogen.
nochmals vielen dank für deine schnelle und ausfürliche hilfe.
bis bald
gruß jens

AW: Daten umkopieren
10.04.2008 18:00:00
Tino
Hallo,
noch eine Möglichkeit.

Sub KopiereDaten()
Dim Bereich As Range
Dim Tab1 As Worksheet, Tab2 As Worksheet
Set Tab1 = Tabelle1
Set Tab2 = Tabelle2
Application.ScreenUpdating = False
For Each Bereich In Tab1.Range("A2:" & Tab1.Range("A65500").End(xlUp).Address)
If Bereich > "" Then
With Tab2.Range("A65500").End(xlUp).Offset(1, 0)
Tab1.Rows(Bereich.Row).Copy
.PasteSpecial Transpose:=True
End With
End If
Next Bereich
Set Tab1 = Nothing
Set Tab2 = Nothing
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Gruß
Tino

Anzeige
AW: Daten umkopieren
10.04.2008 18:21:01
jens
Hallo tino
vielen dank für deine mühe, aber die namen sollten in spalte1,nr in 2 und die werte sollten getrennt untereinander in spalte 3.
gruß jens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige