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の仕様変更あるいはバグ情報があったら教えてください。
すんません間違えたっす。コピペして変更しなかったす。
正しくは↓こうっす。
Sub Test()
Sheets("Sheet2").Cells(1,1) = "'"
Sheets("Sheet2").Cells(1,2) = Sheets("Sheet1").Cells(1,2)
End Sub