我有一个excel表,用于计算我们正在执行的每项工作需要订购的材料数量。
我想要完成的是创建一个按钮,将现有表复制到我的excel工作簿的第2页。该表是两列宽。因此,我想点击按钮,它将第1页A和B上的表复制到第2页A和B页。完成后,我想要excel记住A和B,然后我点击按钮,它在C和D列,然后是E和F,依此类推(总是在第2页)。
解释为什么我会这样,我需要订购1000平方英尺的材料,但需要分段。一次只有250平方英尺的材料。所以,我想填写多少即时订购,点击按钮,它保存了第2页上订购的信息。这样很容易回去看看做了什么,约会的日期,订购了多少,什么是按订单等等。
我知道使用数字,只需按一下按钮就可以增加2,但我不知道如何为excel列(字母)执行此操作。
是否有一些简单的命令我在网上找不到这样的东西?
感谢您的帮助!
答案 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