2016-06-30 9 views
0

Ich brauche nur eine einfache Lösung, um Daten beliebig nach der Anzahl der Spalten in jeder Zeile verschoben werden.Spalten nach Menge angegeben

Zum Beispiel:

shift         
2   x x x x   
4     x x x  
5      x x x x 

so für 2 die ersten 2 Spalten leer sind, und die Daten verschoben wird 3 zur Zelle für 4 die ersten 4 Spalten leer sind, und die Daten verschoben werden, 5 bis Zelle heraus.

+0

einige der Daten Hunderte von Spalten sein kann, über und es gibt Hunderte von Zeilen, deshalb brauche ich diese Hilfe .. – guy

+0

Ich verstehe deine Frage nicht. Könnten Sie ein Bild des erwarteten Ergebnisses klären oder hinzufügen? – Brian

+0

willst du eigentlich 'vba' dafür? Wenn dies der Fall ist, müssen Sie den von Ihnen geschriebenen Code bereitstellen, um dies zu erreichen. SO ist keine "schreibe den Code für mich, bitte" -Website. –

Antwort

0

Beginnend mit:

enter image description here

das Lauf:

Sub Kolumator() 
    Dim i As Long, N As Long 
    Dim K As Long, j As Long 

    N = Cells(Rows.Count, "A").End(xlUp).Row 
    For i = 1 To N 
     K = Cells(i, 1).Value 
     Cells(i, 1).Clear 
     For j = 1 To K - 1 
      Cells(i, 1).Insert shift:=xlToRight 
     Next j 
    Next i 
End Sub 

produzieren:

enter image description here

+0

Dank so viel .. und danke an alle für die Hilfe !! – guy

1

Dies funktioniert für mich

Sub test() 

Dim ws As Worksheet 
Dim rng As range 
Dim cell As range 


Set ws = ThisWorkbook.Worksheets(1) 
Set rng = range("A1", ws.range("A1").End(xlDown)) 

For Each cell In rng 
    Dim i As Integer 
    For i = 1 To cell.Value 

     cell.Insert xlShiftToRight 

    Next i 

Next cell 


End Sub 
0

Dies sollte für Sie arbeiten

Option Explicit 

Sub MoveCells() 

Dim cell As Range 
Dim ws As Worksheet 
Set ws = Worksheets("Sheet1") 

For Each cell In ws.Range(Cells(1, 1), Cells(Cells.Rows.Count, "A").End(xlUp)) 
Range(Cells(cell.row, 2), Cells(cell.row, 2).End(xlToRight)).Cut Range(Cells(cell.row, 2), Cells(cell.row, 2).End(xlToRight)).Offset(0, cell.Value) 
Next cell 

End Sub 
Verwandte Themen