所以,我有一个宏循环遍历工作表上的许多单元格并对它们进行处理。
Private Sub ReplaceFormulaWithValues()
Dim lastrow As Long, r1 As Long
Dim temp As String, arTemp
Dim temp2 As String
Dim temp3 As String
Dim letter
temp3 = ""
' Get the last row in the worksheet
lastrow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
For r1 = 1 To lastrow
For r2 = 0 To 10
letter = Chr(Asc("A") + r2)
letter = letter + LTrim(Str(r1))
' If A & B aren't blank, make the formula of cell C equal to A + B.
If Sheet1.Range(letter).Value <> "" And Mid(Sheet1.Range(letter).Formula, 1, 1) = "=" Then
If Asc(Mid(Sheet1.Range(letter).Formula, 2, 1)) >= 65 And Asc(Mid(Sheet1.Range(letter).Formula, 2, 1)) <= 90 Then
' Get the formula for the current C cell
temp = Replace(Sheet1.Range(letter).Formula, "=", "")
'Create an array by splitting the formula on the + sign
arTemp = Split(temp, "+")
temp2 = Sheet1.Range(arTemp(0)).Value
For i = 1 To UBound(arTemp)
temp3 = Sheet1.Range(arTemp(i)).Value
temp2 = temp2 & "+" & temp3
Next i
Sheet1.Range(letter).Value = "=" & temp2
End If
End If
Next
Next
End Sub
这就是它的作用:
for instance, let's say that the formula of cell C2 is C2=A1+B1, where A1 = 10 and B1 = 20.
I would like to change it so that the formula of cell C2 is C2=10+20.
However, I don't want the formula displayed in the cell or anything.
我的问题:如何设置它以便我首先可以从工作表中突出显示/选择一组单元格,然后激活宏以便宏仅适用于该范围内的每个单元格?