将数据从每个X列移动到Excel中的单个列

时间:2011-10-13 14:11:50

标签: excel vba excel-vba

使用修改来解决问题

Dim i As Long, values As Range, current As Range
Set current = Range("D4") '//select 1st anchor cell
Do Until current.Value = ""
    i = i + 45
    Set values = Range(current.Offset(2, 0), current.Offset(45, 0)) '//select all in the ooc column
    values.Copy '//got block of data here
    Sheets("Sheet1").Range("A" & i).PasteSpecial
    Set current = current.Offset(0, 13) '//next page
Loop

从Excel电子表格的C列开始,我有13列宽的数据页面。我需要将第2和第3列中的数据传输到SQL数据库,所以我试图将每个页面上的这2列移到彼此的顶部以进行传输。

下面的屏幕截图是我正在使用的数据。我需要捕获ODC CSS Servers RowX CabX下的服务器名称及其相应的资产标签。如果我可以每13行占用这两列并堆叠它们,我可以自己删除额外的信息。

Spreadsheet http://img830.imageshack.us/img830/6126/unledoks.png

我确信我不需要提到这会节省大量的时间,但我可以真正使用一些帮助开始,或使用示例宏来实现这一目标。不幸的是,我没有太多的VBA经验,但我会帮助我获得帮助。

1 个答案:

答案 0 :(得分:2)

怎么样;

dim i As Long, values as range, current As range
set current = Range("D4") '//select 1st anchor cell
do until current.Value = ""
    i = i + 1
    set values = range(current.offset(1, 0), current.End(xlToRight)) '//select all in the ooc column 
    values.copy '//got block of data here
    sheets("someothersheet").range("A" & i * 2 - 1).pastespecial
    set current = current.offset(0, 13) '//next page
loop