急ぎのため端的に質問させていただきます。ご了承ください。
同じBOOK内のExcelシートに「旧シート」と「新シート」があります。
「旧シート」にオートシェイプを複数配置してあるのを、新シートにVBAでコピー&ペーストしているのですが、ペースト後座標反映の際「旧シート座標(single型)」から「新シート座標(Double型)」になってしまい、新シートで座標にズレが生じます。
どのように解決したら良いでしょうか。
※旧シートのオートシェイプはループで全て読取り、1つずつコピペ処理しています。
以下、ほんの一部実装部分(大文字小文字の違いは見逃してください)
Dim wkOldSht As workSheet '旧シート Dim wkNewSht As workSheet '新シート '以下ループ内の記述(大幅省略) wkOldSht.Shapes(li).Copy wkNewSht.Paste '以下座標取得にてdouble/Variant=single の状態になり座標がずれてしまう Selection.Top = wkOldSht.Shapes(li).Top Selection.Left = wkOldSht.Shapes(li).Left
【追記】
ケータイからなので短めで失礼します。
ウォッチ式に出る値の例です
旧シート座標→5671.909
新シートに入った座標→5672.25
回答3件
あなたの回答
tips
プレビュー