私はlistobj(excelテーブル)の列の1つとしてexcel udfを持っています。テーブルをリフレッシュすると、udfが計算されるかどうかに応じて混合結果が得られます。いくつかのセルはいくつかのリターン#値を再計算します。 #valueセルを選択し、数式バーをクリックして「チェック」をクリックすると、正しく評価されます。または、それを列の下にコピーすると、正しく計算されます。 リストシートを計算するためにワークシート変更イベントを追加しました。excel udfがlistobj更新後に更新されない
アドバイスはありがとうございます。
私のユーザー定義関数は次のとおりです。あなたは、スコアの2つの定義を持っているように、ここでDim scr
scr = score
Select Case scr
Case Is = 99
srcred = 255
srcgreen = 0
srcblue = 0
Case Is > 0
srcred = (1 - scr) * 255
srcgreen = 255 - ((255 - 176) * scr)
srcblue = scr * 80
Case Else
srcred = 255
srcgreen = 255
srcblue = 255
End Select
dest.Parent.Evaluate "ChangeIt2(" & dest.Address(False, False) & "," _
& srcred & "," _
& srcgreen & "," _
& srcblue & "" _
& ")"
colorscore = "Changed sheet!" 'or whatever return value is useful...
End Function
Sub ChangeIt2(c1 As Range, c2red, c2green, c2blue)
c1.Interior.Color = RGB(c2red, c2green, c2blue)
End Sub
Function colorscore(dest, score)
が
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.ListObject Is Nothing Then Exit Sub
ActiveSheet.EnableCalculation = False
ActiveSheet.EnableCalculation = True
End Sub
を獲得します//rubberduckvba.com/Indentation)実際に読めるようにします。完全な開示、私はそのプロジェクトの貢献者です。 – Comintern
@ YowE3K - いいえ。私がインデントしたとき、インデントしたときに「インデントケース」の設定が間違っていて、手動で固定したときに見逃してしまったようです。おっと!それを自動化するもう一つの良い議論...固定。 – Comintern