使用修改来解决问题
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经验,但我会帮助我获得帮助。
答案 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