Excel総合相談所10

このエントリーをはてなブックマークに追加
268名無しさん@そうだ選挙にいこう
Excel97まではOKだったんだけどExcel2000ではおかしな動作をしてしまうマクロに悩んでるっす。

Sheet1のB1セルに式を設定「=IF(A1="","",A1)」

んで、以下のマクロを実行

Sub Test()
 Sheets("Sheet2").Cells(1,1) = "'"
 Sheets("Sheet2").Cells(1,2) = Sheets("Sheet2").Cells(1,2)
End Sub

Excel97以前では、Sheet2のB1セルは空白のままなんだが、Excel2000では
分けのわからん値(?)が入ってしまう。
しかし↑のマクロの1行目をコメントアウトして2行目だけ実行させると問題ない。

Excel2000でもRangeオブジェクトのデフォルトプロパティはValueのままだよね?
.netを先取りしてデフォルトプロパティなんか無くなってしまったの?
どこかにVBAの仕様変更あるいはバグ情報があったら教えてください。
269268:03/01/29 02:04
すんません間違えたっす。コピペして変更しなかったす。
正しくは↓こうっす。

Sub Test()
 Sheets("Sheet2").Cells(1,1) = "'"
 Sheets("Sheet2").Cells(1,2) = Sheets("Sheet1").Cells(1,2)
End Sub