Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ...in 3 gleich große Spalten aufteilen

...in 3 gleich große Spalten aufteilen
30.07.2007 14:03:00
Daniel
Hallo,
Ich will eine Zahlenfolge (1....100 Beispielsweise) die in einer Spalte steht ("A") in 3 gleich große Spalten aufteielen...bei ungerader Zahl soll in B1 oder B1 und C1 eine Zelle leer bleiben...
Bitte um Hilfe
mfg Daniel

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ...in 3 gleich große Spalten aufteilen
30.07.2007 14:25:03
sergiesam
hi,

Sub Aufteilen()
Dim r As Range, anzahl As Long, zweiteSpalte As Long, dritteSpalte As Long
anzahl = Range("A1").CurrentRegion.Rows.Count
zweiteSpalte = anzahl / 3
dritteSpalte = anzahl / 3 * 2
If anzahl Mod 3 = 1 Then
zweiteSpalte = zweiteSpalte + 2
ElseIf anzahl Mod 3 = 2 Then
zweiteSpalte = zweiteSpalte + 1
dritteSpalte = dritteSpalte + 1
End If
Range("A" & zweiteSpalte & ":A" & dritteSpalte).Cut Range("B1")
Range("A" & dritteSpalte + 1 & ":A" & anzahl).Cut Range("C1")
End Sub


lg,
Sam

Anzeige
AW: ...in 3 gleich große Spalten aufteilen
30.07.2007 14:37:29
Daniel
Ja schon mal vielen Dank an Sam...aber leider klappt das noch nicht ganz mit dem Aufteilen...bei Zahlen die durch 3 teilbar sind funktioniert es nicht richtig...Hab mich da auch vorher verschrieben...Es sollten nämlich nur in der 3. Spalte Zellen leer bleiben wenn es nicht aufgeht, ich glaub dann ist es auch einfacher.
Hier hab ich nochmal zur sicherheit mein komplettes Programm mitgeschickt vllt. hilft es ja...

Private Sub Ok_Click()
If Startwert = "" Then
Startwert.SetFocus
Exit Sub
ElseIf IsNumeric(Startwert) = True Then
Else
Startwert.SetFocus
Startwert = ""
Exit Sub
End If
If Endwert = "" Then
Endwert.SetFocus
Exit Sub
ElseIf IsNumeric(Endwert) = True Then
Else
Endwert.SetFocus
Endwert = ""
Exit Sub
End If
Dim lngStartwert As Long, lngEndwert As Long
With UserForm1("Ok")
lngStartwert = Startwert
lngEndwert = Endwert
End With
If lngEndwert - lngStartwert 


Anzeige
AW: ...in 3 gleich große Spalten aufteilen
30.07.2007 15:20:00
sergiesam
hi,
hier ein bespiel:
https://www.herber.de/bbs/user/44564.xls
Der Code dazu:

Sub Aufteilen()
Dim r As Range, anzahl As Long, zweiteSpalte As Long, dritteSpalte As Long
anzahl = Range("A1").CurrentRegion.Rows.Count
zweiteSpalte = anzahl / 3
dritteSpalte = anzahl / 3 * 2
Select Case anzahl Mod 3
Case 0
zweiteSpalte = zweiteSpalte + 1
Case 1
zweiteSpalte = zweiteSpalte + 2
dritteSpalte = dritteSpalte + 1
Case 2
zweiteSpalte = zweiteSpalte + 1
dritteSpalte = dritteSpalte + 1
End Select
Range("A" & zweiteSpalte & ":A" & dritteSpalte).Cut Range("B1")
Range("A" & dritteSpalte + 1 & ":A" & anzahl).Cut Range("C1")
End Sub


Anzeige
AW: ...in 3 gleich große Spalten aufteilen
30.07.2007 15:58:00
Daniel
Hey super funktioniert jetzt alles wunderbar....
Vielen Dank werd euch weiterempfehlen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige