回答ありがとうございます。これが可能です!ちょっと。私が「ちょっと」と言ったのは、技術的に言えば、「機能」が周囲の細胞に影響を与えていないからです。しかし、実際に言えば、ユーザーはその違いを見分けることができませんでした。
トリックは、Win32 API を使用してタイマーを開始することです。タイマーが切れるとすぐに、任意のセルに対してやりたいことを行い、タイマーをオフにします。
現在、私は COM スレッドがどのように機能するかについての専門家ではありませんが (VBA がシングル アパートメント スレッドであることは知っています)、タイマーが Excel プロセスで暴走してクラッシュすることに注意してください。これは、他のすべてのスプレッドシートの解決策として提案するものではありません。
これらの内容でモジュールを作成するだけです:
Option Explicit
Declare Function SetTimer Lib "user32" (ByVal HWnd As Long, _
ByVal IDEvent As Long, ByVal mSec As Long, _
ByVal CallFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal HWnd As Long, _
ByVal timerId As Long) As Long
Private timerId As Long
Private wb As Workbook
Private rangeName As String
Private blnFinished As Boolean
Public Sub RunTimer()
timerId = SetTimer(0, 0, 10, AddressOf Woohoo)
End Sub
Public Sub Woohoo()
Dim i As Integer
' For i = 0 To ThisWorkbook.Names.Count - 1
' ThisWorkbook.Names(i).Delete
' Next
ThisWorkbook.Worksheets("Sheet1").Range("D8").Value = "Woohoo"
KillTimer 0, timerId
End Sub