2016-09-30 59 views
-1

我的代碼的動機是每次更新一個單元格,並在某個時間更新單元格的評論。但不是一次更新一個單元格,而是更新K行中的所有單元格。例如,如果我想更新K10更新單元格從K6到K10具有相同的值。請幫助Excel VBA一次只能更新一個單元格

Sub ActiveCell_Initial() 
strUserName = Application.UserName 
Range(ActiveCell, "K6").Value = " by " & strUserName & "@ " & Now() 
End Sub 
+1

那麼,你認爲「K6」在你的代碼中做了什麼?範圍(a,b)告訴excel選擇a和b之間的所有單元格,然後如果更改該值,它將更改該範圍內的呼叫單元格。 –

回答

1

這將只更新ActiveCell

Sub ActiveCell_Initial() 
    strUserName = Application.UserName 
    ActiveCell.Value = " by " & strUserName & "@ " & Now() 
End Sub 
+0

快速問題。我可以使用不同時區的時間嗎? – RKVALU

+1

@RKVALU當然可以看到:http://www.cpearson.com/Excel/TimeZoneAndDaylightTime.aspx –

2
Application.Calculation=xlCalculationManual 
range("K6:K10").calculate 

這是否幫助?

或者你只是想寫這個? (不知道我抓住了問題)

Sub ActiveCell_Initial() 
strUserName = Application.UserName 
ActiveCell.Value = " by " & strUserName & "@ " & Now() 
End Sub 
+0

完美的工作。謝謝。 – RKVALU

0

你不能在所有的NOW()使用Excel的功能可按並使用VBA函數來獲取日期時間(我不記得的命令),使細胞內,它說「by bob smith @ 1/1/2016 00:00:01」而不是「by bob smith @ NOW()」

或者你可以複製單元格和特殊的粘貼值 - 只有它返回,這會給你相同的結果,但最有可能是更加計算的常規

相關問題