使用vba连续列的两个单元格之间的差异

时间:2016-01-19 06:15:08

标签: excel-vba vba excel

我的数据如下:     col A col B col C ..........直到col Q K(453)

row 1:   5   7...............up to col Q K(453)
.
.
.
row 19:.....

基本上我的数据有19行和453(" Q K")列。 现在我想找到连续列之间的差异 例如:

B栏 - A列=答案应存储在下一张表格中(例如,在表格2中的#34; A列和#34;表格2中)

我有一个下面给出的代码,代码正在运行,但问题是,此代码将结果保存在'范围C'相同的工作表,我必须在代码中反复编写差异公式,所以它成为我的开销,我是VBA-excel编程的初学者。请帮助我。

代码:

Option Explicit

Sub minus()
Dim lastRow As Integer, i As Integer
lastRow = 404

With ActiveSheet
    For i = 1 To lastRow
        C.Range("C" & i).Formula = "=B" & i & "-A" & i
    Next i

End With
End Sub

校正:

我的数据如下:

col 1        col 2...........    col QK
district 1   6 ..............    8
district 2   19................9
.
.
.
district 19   78...............90[this is data , columns= 453(not shown in image), this is just a snapshot of few columns ,  rows = 19][1]

现在我想找到连续列之间的差异,结果必须存储在表2中

1 个答案:

答案 0 :(得分:0)

检查一下

Sub minus()
Dim lastRow As Integer, lastColumn As Integer, i as Integer, j As Integer
lastRow = 19
lastColumn = 452
for i = 2 to lastColumn
    for j = 1 to lastRow
        Sheets("Sheet2").Cells(j, i).value = Sheets("Sheet1").Cells(j, i+1).value - Sheets("Sheet1").Cells(j, i).value
    Next j
Next i
End Sub

此代码将使Sheet2中的数据保持静态,因此Sheet1中的任何更改都不会更改Sheet2中的数据。

更新:根据您提出的更正,我改变了答案。