Excel Visual Basic 2007添加值
首先,我不是一个真正的智者。因此,我试图将两个值相加,并在第三个值中显示它们(这很容易),但我也希望它重复无限次(即,它对每一行都做相同的操作,比如说,我将结果放在I5中,我还希望,在它下面的每个I上(I6、I7、I8等等) 如果是:Excel Visual Basic 2007添加值,excel,vba,excel-2007,Excel,Vba,Excel 2007,首先,我不是一个真正的智者。因此,我试图将两个值相加,并在第三个值中显示它们(这很容易),但我也希望它重复无限次(即,它对每一行都做相同的操作,比如说,我将结果放在I5中,我还希望,在它下面的每个I上(I6、I7、I8等等) 如果是: Private Sub Worksheet_Change() if IsNumeric(Range("B1").sort) And IsNumeric(Range("B2").sort) then Dim value1 As Single Dim value2
Private Sub Worksheet_Change()
if IsNumeric(Range("B1").sort) And IsNumeric(Range("B2").sort) then
Dim value1 As Single
Dim value2 As Single
range(I5).sort = value+1 + value2
End Sub
或者我认为我大错特错了?您正在使用
范围的.Sort
属性,您应该在其中使用.Value
有两种方法可以实现您希望实现的目标。第一种方法是遍历范围并向每个单元格添加相关值,如下所示:
Public Sub addCells()
Dim rng As Range, cell As Range
'Set the sheet name
With ThisWorkbook.Worksheets("Sheet_Name")
'Set the range below:
Set rng = .Range("I1:I10")
'Loop through range and add cells together
For Each cell In rng
cell.Value = cell.Offset(0, 2) + cell.Offset(0, 1)
Next cell
End Sub
如果要添加的值在列A
和B
中排序,另一种方法是:
Public Sub addCells()
Dim rng As Range, cell As Range
'Set the sheet name
With ThisWorkbook.Worksheets("Sheet1")
'Add the first formula to the sheet
.Range("C1").Value = "=SUM(A1+B1)"
'Change the range below to the range to be filled
.Range("C1").AutoFill Destination:=.Range("C1:C10")
End With
End Sub
问题是我不想添加一个范围,范围应该是无限的。这就是我遇到的问题。仍然感谢您的帮助。它不能是“无限的”,因为excel中的行/列数是有限制的。您的意思是希望它计算到最后使用的行吗?基本上。让我进一步解释,假设我想添加a+B a然后把结果放在C中,我也希望这样做的次数是无限和随机的(也就是说,每一行从一个住所复制代码,使代码本身“无限”)。我知道,我不擅长解释我自己。所以你想对工作表中的每一行都这样做吗?是的,大多数情况下。我猜同样的方法也可以用来制定规则(假设我希望负值在粉色单元格中,负数在绿色单元格中,负数在蓝色单元格中,负数在蓝色单元格中,负数在绿色单元格中,负数在蓝色单元格中,负数在蓝色单元格中,负数在蓝色单元格中,负数在蓝色单元格中,负数在蓝色单元格中)?