質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

2回答

978閲覧

EXCELVBAでの画像貼り付け

sakuraisa

総合スコア10

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/12/23 13:07

前提・実現したいこと

EXCELVBAで、ボタンを押すと指定セルへの画像貼り付け

発生している問題・エラーメッセージ

当該EXCELを作成したPCでは綺麗に貼り付けができるものの他PCでは多少指定セルの上に
画像が貼り付けられてしまいます。

該当のソースコード

Sub ボタン1_Click()
' ファイル選択ダイアログで画像ファイルを選択する
vntFileName = _
Application.GetOpenFilename( _
Title:="画像を選択", MultiSelect:=False _
)
' ファイルパスがあれば
If Len(vntFileName) > 0 Then
'MsgBox vntFileName
Set targetCell = Range("b79:d87")
targetCell.Select
' シェイプを作成し,画像を挿入
Set myShape = ActiveSheet.Shapes.AddPicture( _
Filename:=vntFileName, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=targetCell.Left, _
Top:=targetCell.Top, _
Width:=targetCell.Width, _
Height:=targetCell.Height _
)
End If
End Sub

試したこと

Verなどの確認はしましたが以上ありませんでした。

補足情報(FW/ツールのバージョンなど)

EXCEL2016・Windows10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/12/23 23:55

ソースコードはマークダウンのcode機能を使ってください。質問・解説内容とコードとの境目が不明瞭となりますし、code機能では正しくコードをコピペできるようになりインデントもつけられて読みやすくなり、再現確認も容易となりますので、的確な回答が得やすくなります。https://teratail.com/help#about-markdown
guest

回答2

0

そこの設定はポイント単位なんで各PCの画面のDPI設定なんかで数値が変わります、
変なDPIが設定されてるだとそこで桁数切り捨てが出て誤差がでちゃってるんでしょうねぇ。
座標の型がsingle型かDouble型かとかって問題とかも、
なにせエクセルの座標系は面倒なんですよね。

一旦対象セルを選択し、Selectionからleftとtopを取得して設定してみてはどうでしょうか?
ちらちらするので一旦Application.ScreenUpdating = Falseで。

あとは…当然枠線は非表示ですよね?表示してると枠線ははみ出ます。
(shp.Line.Visible = msoFalse)

投稿2019/01/02 20:02

shinobu_osaka

総合スコア456

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

回答ではない回答になって申し訳ないですが、発生している現象は、Excelの仕様かと思います。
Excelは表計算ソフト故、手抜きしている機能が多いと聞きます。
諦めも視野に入れるべきかと思います。
すいません。

投稿2018/12/26 12:13

kai_keitai

総合スコア344

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問