ExcelのVBAで条件に基づいて値を設定しようとしていますが、スタックスペースに関するエラーが発生するたびにクラッシュし、ForceFullCalculationをワークブック別のSOの記事でアドバイスとして、私が手にエラーがある:問題の範囲に値が設定されているとExcelがクラッシュする
Run-time error '-2147417848 (80010108)':
Method 'Value' of object 'Range' failed
コードの行を
If Range("G4") = "Yes" Then
Range("K4:L6").Interior.ColorIndex = 4 ' green
Range("K4").Value = "x"
End If
コードでこれらのブロックの倍数があります。 値 'x'を設定する行をコメントアウトすると、コードはうまく動作しているようです。緑色(または色)に細胞を着色した後に値「X」に単一のセルを設定する場合
If Range("G4") = "Yes" Then
Range("K4:L6").Interior.ColorIndex = 4 ' green
'Range("K4").Value = "x"
End If
なぜそれがクラッシュしますか? 使用されているバージョンは、8GBのRAMを搭載したマシン上のExcel 2010 32ビット版です。
「Worksheet_Change」のようなイベントの中でこれを行っていますか?通常、スタックスペースエラーは再帰によって発生します。 – Rory
はい、WorkSheet_Change内にあります。それをクラッシュするのをやめさせる別の方法をお勧めしますか?あなたが言及している再帰がどこで起こっているのかわからない、私はExcel VBAに少し慣れている。 – warsong
その後、セルを変更する前に 'Application.Enableevents = False'を追加する必要があります(これはあなたのイベントをもう一度トリガします)。その後、Trueにリセットします。 – Rory