[GastForen Programme Office Microsoft Office Eine Spalte in mehrere verwandeln EXCEL

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Office - Alles fürs Büro
Themen
Beiträge
Moderatoren
Letzter Beitrag

Eine Spalte in mehrere verwandeln EXCEL

Boris_1
Beiträge gesamt: 2

6. Jun 2014, 14:57
Beitrag # 1 von 4
Bewertung:
(2047 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
HI brauch mal Hilfe,

Habe eine Spalte und die soll auf meherer aufgeteilt werden:

A
17
17
17
17
17
0
0
0
20
20
20
20
20
20
20
20
0
0
0
0
30
30
30
30
0
0
0
0

Sollte dann so aussehen:
B C D E F ......
17 20 20 30
17 20 20 30
17 20 20 30
17 20 00 30
17 20 00
00 20 00

Die Spalten dürfen nicht mehr als 6 Zeilen haben....d.h. wenn eine Zahl mehr als 6mal (12mal, 18mal,etc..) vorkommt soll eine neue Spalte damit begonnen werden und die nächste Zahl dann eine Spalte weiter (die "0"en sind hier nur für die Ordnung)

Gibt es da eine Formelmäßige Lösung?

mit Makros kenn ich mich leider absolut nicht aus...

Danke und Lg Boris
X

Eine Spalte in mehrere verwandeln EXCEL

farbauge
Beiträge gesamt: 844

6. Jun 2014, 17:09
Beitrag # 2 von 4
Beitrag ID: #528244
Bewertung:
(2005 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Boris,

deine Angaben sind für eine sinnvolle Hilfe etwas zu dürftig.

Wie kommen die Daten in diese eine Spalte? Werden die irgendwo ausgelesen,
Datenbankabfrage oder so?

Die Spalten dürfen nicht mehr als 6 Zeilen lang sein. Heißt das, weniger als
6 ist möglich? Wenn ja, nach welchen Kriterien wird entschieden, ob die Werte
in eine neue Spalte sollen?

Was ist überhaupt der Hintergrund dieser Anforderung? Und kommt das häufiger vor?
Wie lang ist die eine Spalte? Wenn es nur 2-3 mal 50 Zahlen sind, geht es schneller
zu Fuß.

Soviel kann ich schon mal sagen: mit Formeln in Zellen ist da nichts zu machen,
Formeln verändern nur Zellinhalte aber verschieben nichts.

Das muss schon mit VBA gelöst werden. Wenn es stur immer 6 Zeilen sind, ist das
ziemlich einfach. Wenn es andere Aufteilungskriterien gibt, muss man die halt wissen.

Gruß
Peter


als Antwort auf: [#528241]

Eine Spalte in mehrere verwandeln EXCEL

Henry
Beiträge gesamt: 967

9. Jun 2014, 14:04
Beitrag # 3 von 4
Beitrag ID: #528258
Bewertung:
(1899 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
ich habe das mal per Makro genauso wie gefordert umgesetzt - ich hoffe das funktioniert.

So ganz easy fand ich das übrigens allerdings dann doch nicht - womöglich lässt sich aber der Code verbessern/vereinfachen?! Unschön z.B., dass ich an zwei Programmstellen die eigentliche Zellwertübertragung vornehme.
Code
Sub Zellwerte_ausSpalteA_in_Xer_Spalten_transponieren() 
'die Zellwerte aus Spalte_A werden in Spalten zu je X Reihen verteilt

reihen_anzahl = 6 'für eine verteilung von X (hier 6) Reihen pro Spalte
zellen_anzahl = Worksheets(1).UsedRange.Rows.Count
r2 = 1
c = 2 'beim Transponieren ab Spalte 2 beginnen
letzter_zellwert = 0
Antwort = MsgBox("In der Tabelle sind " & zellen_anzahl & " Reihen enthalten!" & vbCr & vbCr _
& "Werte umsortieren in (maximal) " & (zellen_anzahl + reihen_anzahl - 1) \ reihen_anzahl & " Spalten?", vbOKCancel, "Makro ausführen?")
If Antwort = vbCancel Then Exit Sub

For r1 = 1 To zellen_anzahl
If r2 = 1 And (Worksheets(1).Cells(r1, 1).Value = "" Or Worksheets(1).Cells(r1, 1).Value = 0) Then
'leeren/Null-Wert niemals nicht in Reihe 1 übertragen!
Else
If Worksheets(1).Cells(r1, 1).Value = letzter_zellwert Then
'alles paletti
Worksheets(1).Cells(r2, c).Value = Worksheets(1).Cells(r1, 1).Value
'Worksheets(1).Cells(r1, 1).ClearContents 'alte Zellwerte löschen
Else ' neuen Zellwert in nächste Spalte übertragen
letzter_zellwert = Worksheets(1).Cells(r1, 1).Value
If r2 = 1 Then
'auch alles paletti
Worksheets(1).Cells(r2, c).Value = Worksheets(1).Cells(r1, 1).Value
'Worksheets(1).Cells(r1, 1).ClearContents 'alte Zellwerte löschen
Else
'Zellen in den neuen Spalten mit Nullern auffüllen
For r3 = r2 To reihen_anzahl
Worksheets(1).Cells(r3, c).Value = 0
Next r3
c = c + 1
r2 = 0
End If
End If
If r2 = reihen_anzahl Then
c = c + 1 'nächste Spalte befüllen
r2 = 1
Else
r2 = r2 + 1
End If
End If
Next r1
End Sub



als Antwort auf: [#528241]
(Dieser Beitrag wurde von Henry am 9. Jun 2014, 14:08 geändert)

Eine Spalte in mehrere verwandeln EXCEL

Boris_1
Beiträge gesamt: 2

10. Jun 2014, 14:31
Beitrag # 4 von 4
Beitrag ID: #528293
Bewertung:
(1810 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Peter,

im Grunde geht es darum einen Plan mit Palettenstellplätzen in einem Lager darzustellen.

Diese Paletten(produkte) haben verschiedene Nummern (MZ) und eine unterschiedliche Anzahl an Mengen.

Der Lagerplatz ist auf einer Seite in 6er Reihen eingeteilt.

Es sollen nun die Produkte aufsteigend nach MZ abgestellt werden.

zb: mz 1 = 6 PLT
mz13 = 11 PLT
mz 24 = 8 PLT

usw...

die maximale Anzahl an PLT die ein Produkt haben kann ist 60.

Dies müsste 2 mal in der Woche gemacht werden mit bis zu 100 verschiedenen Produkten. Das ist zu Fuß bei dem Arbeitsaufwand nicht möglich...

Mein Plan: ich kopiere die Liste der Produkte mit MZ und Anzahl PLT und aus dieser sollte dann der Belegungsplan erstellt werden.

Ausgangspunkt ist eigentlich eine sortierte Liste mit eben diesen Daten.

MZ/Produkt/Anzahl PLT

9/Billa/32
15/Lidl/5
67/Hofer/19
....

Hilft das weiter?

Da ich leider keine Ahnung von Makros habe bin ich bei der 50zigsten wenn-abfrage stecken geblieben ;)


als Antwort auf: [#528244]
X