Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
712to716
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
712to716
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalte nach 24 Werten in nächste Spalte aufteilen

Spalte nach 24 Werten in nächste Spalte aufteilen
06.01.2006 12:48:32
Thomas
Hi,
mit Excel komme ich momentan nicht weiter. Ich habe folgendes Problem:
In der Ausgangssituation stehen nur in Spalte A untereinander viele Werte. Diese Spalte soll aufgeteilt werden.
Nach dem 24. Wert sollen die Werte in Spalte B übertragen werden, nach dem 48. Wert sollen die restlichen Werte in Spalte C übertragen werden, usw.
Als Ergebnis sollen pro Spalte A,B,C,D, ... (je nach dem, wie viele Werte zuvor in Spalte A waren) nur 24 Werte stehen. Die Trennung erfolgt immer nach dem 24. Wert.
Wie mache ich das und wer kann helfen?
Vielen Dank für eure Hilfe!
Gruß
Thomas

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte nach 24 Werten in nächste Spalte aufteilen
06.01.2006 13:00:24
Uduuh
Hallo,
in B1 und nach rechts ziehen:
=TEIL($A1;(SPALTE()-2)*24+1;24)
Gruß aus’m Pott
Udo

AW: Spalte nach 24 Werten in nächste Spalte auftei
06.01.2006 13:05:25
Ramses
Hallo
probier mal
Option Explicit

Sub Div_24_List()
    Dim y As Integer, i As Integer
    Dim lRow As Integer
    Dim divArea As Range
    'Teiler definieren
    y = 24
    'Letze Zelle der Spalte mit der Liste
    Set divArea = Range("A65536")
    '****************************
    'Hier nichts mehr anpassen
    'Letzen Eintrag definieren
    lRow = divArea.End(xlUp).Row
    'Prüfung ob Tabelle ausreichend ist
    If lRow / y > 255 Then
        MsgBox "Zuviele Daten"
        Set divArea = Nothing
        Exit Sub
    End If
    For i = 1 To Application.WorksheetFunction.RoundUp(lRow, 0)
        Range(Cells(y + 1, divArea.Column), Cells(lRow, divArea.Column)).Cut Cells(1, i + 1)
        Set divArea = Cells(65536, i + 1)
        lRow = divArea.End(xlUp).Row
    Next i
End Sub

Gruss Rainer
Anzeige
AW: Spalte nach 24 Werten in nächste Spalte auftei
06.01.2006 13:18:56
Thomas
Hi Rainer,
der VB Code überträgt leider gleich die ersten Werte in die nächste Spalte. Alle anderen Werte bleiben unberührt. In deinem VB Code habe ich nur die Zelle mit dem letzten Wert angegeben: Set divArea = Range("A719"):
Userbild
Gruß
Thomas
Frage beantwortet
06.01.2006 13:27:30
Thomas
Das war mein Fehler! Die Größe A719 in Set divArea = Range("A719") war zu klein angegeben. Gebe ich z.B. A730 ein, dann geht es.
Vielen Dank für deine Hilfe.
Gruß
Thomas
AW: Spalte nach 24 Werten in nächste Spalte auftei
06.01.2006 13:27:53
Ramses
Hallo
Vor Ausführung des Codes
 
 A
11
21
31
41
51
61
71
81
91
101
111
121
131
141
151
161
171
181
191
201
211
221
231
241
251
261
271
281
291
301
311
321
331
341
351
361
371
381
391
401
411
421
431
441
451
461
471
481
491
501
511
521
531
541
551
561
571
581
591
601
611
621
631
641
651
661
671
681
691
701
711
721
731
741
751
761
771
781
791
801
811
821
83 
 

nach Ausführung des Codes
 
 ABCDE
11111 
21111 
31111 
41111 
51111 
61111 
71111 
81111 
91111 
10111  
11111  
12111  
13111  
14111  
15111  
16111  
17111  
18111  
19111  
20111  
21111  
22111  
23111  
24111  
25     
 

"...
der VB Code überträgt leider gleich die ersten Werte in die nächste Spalte...."
Das kann nicht sein, weil
Range(Cells(y + 1, divArea.Column), Cells(lRow, divArea.Column)).Cut
Cells(y+1, divarea.Column)
zu diesem Zeipunkt "y+1" = 25 ist, und somit erst ab Zeile 25 auszuschneiden beginnt.
.Cut Cells(1, i + 1)
i = 1 + 1 = 2
somit gleich in Spalte 2 kopiert
Danach werden alle Variablen neu gesetzt
Sorry, aber da habe ich keine Erklärung dafür.
Lade mal die Tabelle hoch.
Gruss Rainer
Anzeige
AW: Spalte nach 24 Werten in nächste Spalte auftei
06.01.2006 13:30:13
Peter
Servus,
damit Rainer net im neuen Jahr scho wieder in Stress kommt ;-)
Sub werte()
Dim wks As Worksheet
Dim lngZähler As Long, lzeile As Long
Dim intSp As Integer, ZeilenEnde As Integer
Set wks = Sheets("Tabelle1") 'Anpassen
intSp = 2 'Anpassen hier Start des einfügens ab Spalte B(2)
ZeilenEnde = 24 'Anpassen
With wks
lzeile = .Cells(.Rows.Count, 1).End(xlUp).Row
For lngZähler = 1 To lzeile Step ZeilenEnde
.Range(Cells(lngZähler, 1), Cells(lngZähler + ZeilenEnde - 1, 1)).Copy .Range(Cells(1, intSp), Cells(ZeilenEnde, intSp))
intSp = intSp + 1
Next
End With
Set wks = Nothing
End Sub

@Ramses: habt Ihr heute auch Feiertag, da du heut scho wieder Hyperaktiv bist ;-) , nachträglich a guats Neues.
MfG Peter
Anzeige
sry, das ist der Jugendliche Übereifer ;-) o.t.
06.01.2006 13:31:31
Peter
MfG Peter
AW: Spalte nach 24 Werten in nächste Spalte auftei
06.01.2006 13:32:39
Ramses
Hallo
Mein Code läuft schon, "Quod errat Domonstrantum" ;-), ... daher auch keinen Stress
Bin noch im Urlaub, der letzte Tag. Da bei uns kein Feiertag ist, nutze ich die Zeit für ein paar hausarbeiten, da Frau und Kiddies ausser Haus sind.
... und von der anstrengenden Hausarbeit erhole ich mich gerade ;-)
Danke für die Wünsche, auch dir ein Gutes neues Jahr.
Gruss Rainer
AW: Spalte nach 24 Werten in nächste Spalte aufteilen
06.01.2006 19:06:14
Walter
Ich grüße Dich,
Wenn zelle A40 ausgefüllt ist, geht es in B1 weiter.

Sub Ausfüllen()
Dim i%, s%, z%
i = 1
s = 1
For z = 1 To 120
Cells(i, s).Value = z
i = i + 1
If i = 41 Then
s = s + 1
i = 1
End If
Next
End Sub


Sub Löschen()
[a1:C40].Clear
End Sub

Gruß
Rentner Walter
aus dem nördlichen Nordhessen
Bitte um Antwort, es würde mich sehr freuen!
Anzeige
AW: Spalte nach 24 Werten in nächste Spalte auftei
06.01.2006 20:55:37
Ramses
Hallo
bist du sicher, dass du die Frage richtig verstanden hast ?
Ausserdem erlaube ich mir die Bemerkung, wozu dieser Beitrag jetzt, wenn er Mittag bereits gelöst wurde ?
Gruss Rainer

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige