2016-12-28 45 views
0

這裏有一個小問題。我想通過改變rcell9的引用在這個宏中只做一個單元格引用編輯 - 在這種情況下它是「F2」。我也想避免使用.Activate。不過,我希望rcell5是rcell9引用的單元格中的值。我怎樣才能以不同的方式編程?從之前的參考文獻中獲取單元格值

Sub Noname() 
Dim rcell5 As String, rcell9 As String 
Dim MonthDays As Long 
rcell9 = ("F2") 
Range(rcell9).Activate 
rcell5 = ActiveCell.Value 
End Sub 
+3

'rcell5 = Range(rcell9).Value' – Comintern

+0

謝謝!這工作無需調整我的代碼。 – Kisheon

回答

1

我建議一些小的調整:

Sub NoName2() 
Dim rCell5 As String, rCell9 As Range 
' Dim monthDays As Long ' Why have this? 

Set rCell9 = Range("F2") 
rCell5 = rCell9.Value 

End Sub 

雖然上面應該爲你工作,我發現自己的思維 - 什麼是與子你的目標?變量名稱不是很有用,IMO有點混亂。你想要一個字符串從單元格中獲取它的值,這很正常。然而,命名約定會使代碼有點混亂,即使它很短。

我懷疑這裏有一個更大的計劃,所以請考慮可能是什麼,並且我建議調整變量名稱以使其更符合這一點。

+0

謝謝。是。它是更大代碼的一部分,但這是我錯過的最後一步。我只是想不必將該單元格引用放入兩次。如果你真的想看到它,我可以與你分享整個代碼。這不是絕對有效的,但比我以前好很多。 – Kisheon

+0

@ Kisheon - 爲您工作?如果是這樣,請記住標記作爲答案?此外,我建議看看[如何避免使用'.Select' /'.Activate'](https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-宏),這將有所幫助。 – BruceWayne

+0

來自@Cominterm的第一條評論無需調整我的代碼,因爲我需要rcell9作爲字符串。我已經刪除了一些。選擇並從我的代碼中激活,但我無法繞過其他幾個。 – Kisheon