ワークブックの変更中に行 15 のセルの値を行 6 のセルの値に追加することになっている小さな VBA マクロを Excel で開発しました (私の場合は、行 15 に数値を入力してタブを押します)。
最初は Excel 2013 で開発して使用していましたが、Mac に切り替えてから Excel for Mac 2011 で使用しています。Excel for Mac 2016 をインストールしたところ、突然、マクロが機能しなくなりました。 .
これはスクリプトです:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C15:H15")) > 0 Then
Call copySub
End If
End Sub
Sub copySub()
Sheets("sheet1").Protect , UserInterFaceOnly:=True
For i = 3 To 8
Cells(6, i).Value = Cells(6, i).Value + Cells(15, i).Value
Cells(15, i).Value = 0
Next i
End Sub
Excel 2016 で値を入力してタブを押すと、実行時エラー 91 "オブジェクト変数またはブロック変数が設定されていません" が表示されます。エラーは次の行で発生しているようです。
Cells(6, i).Value = Cells(6, i).Value + Cells(15, i).Value
に代入する前に合計を変数に格納しようとしましたCells(6, i).Value
が、それも役に立ちませんでした。
Microsoft はシート保護のロジックを変更しましたか? 特にパラメータUserInterFaceOnly
を に設定してtrue
? または、ここで何が起こっていますか?
あなたが私を助けてくれることを願っています。
ありがとう、チャッキー