投稿日 | : 2006/04/16(Sun) 15:08 |
投稿者 | : ダンボ |
URL | : |
タイトル | : セルの座標がずれる? |
Excel2000のVBAです。
セルとセルの間を線で結ぶ処理を作っていますが、対象としているワークシートで
下記テストコードを実行すると、だんだん線がずれてきます。Cells(1,1)の場合は全く
そのセルの左上点から右下点まで線が引かれますが、Cells(30,1)あたりではちょうど
ひとつ上のセルに対して斜め線が引かれます(セルの高さは13.5pt)右のほうの列に
ついても、右に行けば行くほど斜め線は左にずれて表示されます。
全く新規のワークシートを作って下記コードを実行した場合は、仕様どおりにクリックした
セルの左上点から右下点まで線が引かれますので、問題はロジックではなくワークシートに
あると思われますが。。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim X1 As Double, X2 As Double, Y1 As Double, Y2 As Double
With Target
.Copy
Debug.Print .Left, .Top, .Width, .Height
Y1 = .Top
X1 = .Left
Y2 = .Top + .Height
X2 = .Left + .Width
End With
ActiveSheet.Lines.Add X1, Y1, X2, Y2
End Sub