エクセルで、選択した項目によって○をつけるコードを書いたのですが、
自分のパソコン(エクセル2003)では、思ったところにいくのですが、
知人のパソコン(エクセル2002,SP3)ではずれて表示されます。
ActiveSheet.Shapes("xlBunsyo").Select
Selection.ShapeRange.Left = 437
Selection.ShapeRange.Top = 18
このようなコードなのですが、確認のため違うパソコン(エクセル2002,SP3)で確認してもうまく行きます。
知人の仕事場ではエクセルを使ってなにかシステムを使用している用のですが、知人が離れているため現象を確認できません。
知人も他のパソコンで確認したところ8台中1台はうまく行ったようです。
オートシェイプをしてするにあたり、何か他の設定があるのでしょうか?
ご教授ください。
お願いいたします。
No.3ベストアンサー
- 回答日時:
ずれてしまうのは、TopとLeftを絶対ポイントで設定しているためだと思います。
その理由については↓などをご参考にしてみてください。別のコンピュータでファイルを開くと画面表示や印刷結果が異なる場合の注意事項
http://support.microsoft.com/kb/881233/ja
従って、keirikaさんご提案のように、絶対ポイントではなくセルの位置にオートシェイプを合わせる方法が私も良いんじゃないかと思います。Top、Leftに加えて、WidthとHeightもセル範囲にあわせるマクロの例は↓です。
Sub test()
Dim Rng As Range
Dim myShape As Shape
Set Rng = Range("I2") '選択した項目によって○を表示させるセルを設定。Range("I2:J4")のようなセル範囲でもOK
Set myShape = ActiveSheet.Shapes("xlBunsyo")
With myShape
.Left = Rng.Left
.Top = Rng.Top
.Width = Rng.Width
.Height = Rng.Height
End With
Set Rng = Nothing
Set myShape = Nothing
End Sub
なお、alatoさんのご質問を読んで、私には、実情とその問題の原因、解決策などは上のように、それほど苦労することなく思い浮かびました。(もし、はずしていたら申し訳ありませんが)「質問として無茶」などとは全く思いませんでした。
参考URL:http://support.microsoft.com/kb/881233/ja
早速のご回答ありがとうございます。
今回の原因が究明できました。
画面のプロパティでフォントの大きさが違っておりました。
自分のが小さいフォント96dpi,相手のが大きいフォント120dpiでした。
ご教授いただいた方法でうまくいきました。
ありがとうございました。
最後のフォローもありがとうございました!
No.2
- 回答日時:
この質問は実情を十分表現していない。
質問として無茶。全体の流れはどうなっているのか。
どういう風に何をしたいのか。
(1)>選択した項目によって○をつけるコードを書いたのですが
丸はどこに入れるのか。セルか図形の上かその他か。セルでもクリックするとそのセルの位置に丸を出すのか。
セルの画面上の位置は列幅、行高を変えると丸の位置は相対的に変わるぐらい常識だ。
セル位置と○は関連付けるコードは書いているのか。
(2)質問のコードでは丸を描く部分のコードが出てないが。
(3)図形を選択したというイベントを考えているのか、その他か。
(4)>オートシェイプをしてするにあたり
ーーー
不都合の原因を考える(読者・回答者に考えてもらう)、指摘することは、非常に高等な、困難な難しいことなんだ。
このつもりで、十分な状況情報を開示しないと出来ませんよ。
質問者はこのことで頭がいっぱいでも、読者にはコードもやりたいことは判らない。読者の状況が読めてない。
アドバイスありがとうございます。
自分の知識が乏しいために要領を得た質問ができずに申し訳ありません。
理解していないせいか、どういうふうに質問してよろしいかどうかさえもわかりません。
とりあえず、解決できましたので、今後の質問の参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
Excel のバージョンによって、図形の位置がずれる
Excel(エクセル)
-
オートシェイプの位置がずれる件について教えてください
Visual Basic(VBA)
-
-
4
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
5
セルに画像挿入すると、右セルに移動するにつれて画像位置がずれるので、ずれていかないようにしたい
Visual Basic(VBA)
-
6
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
エクセルVBAで画像を貼り付ける座標設定方法は?
PowerPoint(パワーポイント)
-
9
InputBoxの入力値を半角数字のみと限定する方法
Excel(エクセル)
-
10
エクセル 画像挿入マクロで、ずれます
その他(Microsoft Office)
-
11
エクセルで図形やオートシェイプの位置がずれるのは仕方ないのでしょうか?
Excel(エクセル)
-
12
Excelのシート上のShapeにイベントは設定できる?
Excel(エクセル)
-
13
VBAで配列の計算
Excel(エクセル)
-
14
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
-
15
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
-
16
VBAのWindowオブジェクトとWorkbookオブジェクトの違い
Visual Basic(VBA)
-
17
Excel VBA素人です。VBAで図形のセンタリング方法ご教示下さい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
エクセルのセルをチェックボッ...
-
【エクセル】IF関数 Aまたは...
-
(Excel)数字記入セルの数値の後...
-
Excelでのコメント表示位置
-
エクセルでオブジェクトを常に...
-
Excel 例A(1+9) のように番地の...
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
-
対象セル内(複数)が埋まった...
-
エクセルで指定したセルのどれ...
-
枠に収まらない文字を非表示に...
-
エクセル 足して割る
-
【Excel】 セルの色での判断は...
-
EXCEL VBA セルに既に入...
-
エクセルの書式設定の表示形式...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
エクセルの一つのセルに複数の...
-
セルをクリック⇒そのセルに入力...
-
数式を残したまま、別のセルに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
【エクセル】IF関数 Aまたは...
-
(Excel)数字記入セルの数値の後...
-
エクセルで指定したセルのどれ...
-
Excelで数式内の文字色を一部だ...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルのセルの枠を超えて文...
-
対象セル内(複数)が埋まった...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
枠に収まらない文字を非表示に...
-
Excel 例A(1+9) のように番地の...
-
エクセルの書式設定の表示形式...
-
エクセル 足して割る
-
エクセル “13ヶ月”を“1年1ヶ月...
-
エクセル オートフィルタで絞...
-
エクセルで住所と建物名を分け...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
おすすめ情報