2014-12-02 89 views
0

我有一个Excel表,但所有数据都在第1行上。我需要将第16列移动到下一行。所以我的数据应该在列1到列15中。我不擅长Excel,所以请耐心等待。将每第15列移动到新行

+1

数据如何进入Excel?以不同于当前表单的方式导入它可能会更容易。 – JJFord3 2014-12-02 15:12:28

+0

它以CSV文件的形式出现,通常我会用逗号进行分隔,并用逗号分隔它们,但它将它们全部放入第1行。 如果我从Excel复制第1行并将其粘贴到Word中,它不会正确格式化到表中。 – 2014-12-02 15:36:15

回答

1
Sub dividde_16() 

No_of_columns = Cells(1, Columns.Count).End(xlToLeft).Column 
No_of_rows = Int(No_of_columns/15) + 1 

For i = 1 To No_of_rows 
For j = 1 To 15 
    Cells(i + 1, j) = Cells(i * 15 + j) 
Next 
Next 
Range(Cells(1, 16), Cells(1, No_of_columns)) = "" 

End Sub 
0

你也许可以尝试这样的:

Sub Move_to_Columns() 
Dim lR As Long, R As Range 
lR = Range("A" & Rows.Count).End(xlUp).Row 
Set R = Range("A1", "A" & lR) 
Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 
For Each C In R 
    If C.Row Mod 16 = 0 Then 
     C.Offset(-1, 1).Value = C.Value 
     C.ClearContents 
    End If 
Next C 
Application.Calculation = xlCalculationAutomatic 
End Sub 

但随着列而不是行。

相关问题