Excel,循环遍历列和行

时间:2015-04-08 15:38:08

标签: excel vba excel-vba

我有一个excel表,用于计算我们正在执行的每项工作需要订购的材料数量。

我想要完成的是创建一个按钮,将现有表复制到我的excel工作簿的第2页。该表是两列宽。因此,我想点击按钮,它将第1页A和B上的表复制到第2页A和B页。完成后,我想要excel记住A和B,然后我点击按钮,它在C和D列,然后是E和F,依此类推(总是在第2页)。

解释为什么我会这样,我需要订购1000平方英尺的材料,但需要分段。一次只有250平方英尺的材料。所以,我想填写多少即时订购,点击按钮,它保存了第2页上订购的信息。这样很容易回去看看做了什么,约会的日期,订购了多少,什么是按订单等等。

我知道使用数字,只需按一下按钮就可以增加2,但我不知道如何为excel列(字母)执行此操作。

是否有一些简单的命令我在网上找不到这样的东西?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您应该在VBA中学到什么,并在下面的代码中修改如何确定Sheet1上表格的实际范围 - 而不是将其硬编码为"A1:B10"

<强>更新 不确定为什么以前的版本不适合你,但我已经更新了下面的代码,将下一个列位置存储在一个帮助单元格中,看看它是否适合你。

Option Explicit

Sub Button1_Click()
    Dim srcTable As Range
    Dim dstTable As Range
    Dim nextLoc As Range
    Set srcTable = Sheets("Sheet1").Range("A1:B10")
    Set nextLoc = Sheets("Sheet2").Range("A20")

    '--- if this is your first copy, then cell A1 should be empty
    If IsEmpty(Sheets("Sheet2").Range("A1").Value) Then
        Set dstTable = Sheets("Sheet2").Range("A1:B10")
        nextLoc.Value = 3                           'next location is column 3
    Else
        '--- we're adding the next table...
        Set dstTable = Sheets("Sheet2").Cells(1, nextLoc.Value)
        nextLoc.Value = nextLoc.Value + 2
    End If
    srcTable.Copy dstTable
End Sub