所以,我有一個宏,它通過工作表上的很多單元循環,併爲它們做些什麼。我如何在我選擇的單元格區域上操作宏?
下面的代碼http://pastie.org/4290581
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
This是它做什麼:
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.
我的問題:我該如何設定,讓我第一次可以突出顯示/從中選擇一組細胞在工作表中,THEN激活宏,以便宏只能在該範圍內的每個單元格上工作?
循環遍歷Application.Selection(http://msdn.microsoft.com/zh-cn/library/ff840834.aspx)中的單元格? – Govert 2012-07-20 17:24:59
您是否試圖用文本版本替換公式(將任何單元格引用評估爲其值)? 「= A1 + B1」變成「C2 = 10 + 20」。如果是這樣,你是否想對你選擇的每個細胞做這件事? (提供它有一個公式,而不是一個值) – NickSlash 2012-07-20 17:40:52