[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『画像貼り付けマクロを実行すると「実行時エラー1004、アプリケーション定義またはオブジェクト定義エラーです。」』(太郎)
セルサイズに自動で合わせて画像を貼りつけるマクロとカレンダーのマクロを使っていますが、「実行時エラー1004、アプリケーション定義またはオブジェクト定義エラーです。」が表示されてスムーズに処理できません。
訂正の方法がみつかりません。よろしくお願いします。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Cancel = True
'===============画像選択
myF = Application.GetOpenFilename _
("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False)
If myF = False Then
MsgBox "画像を選択してください(終了)"
Exit Sub
End If
'===============画像の掃除
For Each mySP In ActiveSheet.Shapes
myAD1 = mySP.TopLeftCell.MergeArea.Address
myAD2 = Target.Address
If myAD1 = myAD2 Then mySP.Delete
Next
'===============画像の貼り付け
Set mySP = ActiveSheet.Pictures.Insert(myF)
'===============タテヨコの縮尺を保持
myHH = Target.Height / mySP.Height
myWW = Target.Width / mySP.Width
If myHH > myWW Then
mySP.Height = mySP.Height * myWW
mySP.Width = Target.Width
Else
mySP.Height = Target.Height
mySP.Width = mySP.Width * myHH
End If
'===============中央へ調整
myHH2 = (Target.Height / 2) - (mySP.Height / 2)
myWW2 = (Target.Width / 2) - (mySP.Width / 2)
mySP.Top = Target.Top + myHH2
mySP.Left = Target.Left + myWW2
Set mySP = Nothing
End Sub
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value End Sub
< 使用 Excel:Excel2007、使用 OS:Windows7 >
どの部分でエラーになりますか? デバッグのウィンドウで黄色く表示されている箇所です。 (カリーニン) 2017/11/07(火) 11:59
=======画像の掃除の二行下のmyAD1 = mySP.TopLeftCell.MergeArea.Addressが
黄色になっています。
よろしくお願いいたます。
(太郎) 2017/11/07(火) 12:10
変数の宣言部分も割愛しないで貼り付けてみてください。 (カリーニン) 2017/11/07(火) 12:44
'===============画像の掃除
For Each mySP In ActiveSheet.Shapes
myAD1 = mySP.TopLeftCell.MergeArea.Address ←の1行のみ黄色になっています。
myAD2 = Target.Address
If myAD1 = myAD2 Then mySP.Delete
Next
これでよろしかったでしょうか?
宜しくお願いいたします。
(太郎) 2017/11/07(火) 12:57
遠まわしに言ったのが悪かったかな? 変数宣言したらどうなりますか? (カリーニン) 2017/11/07(火) 13:27
変数宣言の言葉も分からないので、この先はどうしたらよいかも分かりません。
(太郎) 2017/11/07(火) 13:42
VBAはサイトからコピペしただけでは、まず、まともに動かない、と 考えてください。
基本書を購入して勉強するか、VBA入門サイトを見て基本から勉強し てみてください。
そして、どこまで自分で出来ていて、どこで躓いているかを再度 質問してみてください。 (カリーニン) 2017/11/07(火) 13:46
ヒントだけ。 変数宣言してないと、変数はVariant型を見做されます。 (カリーニン) 2017/11/07(火) 13:50
>いろいろなところからマクロをコピペしただけです。
コピー元のサイトでは変数宣言してなかったですか? (カリーニン) 2017/11/07(火) 14:30
(D.H) 2017/11/07(火) 15:52
貼付ようとしている画像ファイル形式は何でしょう? jpgとかpngとかbmpとか、他の画像を選択してもエラーになるでしょうか? また、自分のPC内にあるファイルなのか、置き場所の違うファイルでもエラーなのか確認してみてください。
なお、オプションで構文の自動チェックを行う設定にしておき、変数宣言を省略しないのは、宣言違いによる初歩的なミスを無くす基本です。これだけで質問する必要がなくなる場合もあるので、是非チェックしておいてください。(変数宣言を省略したコードは手抜きなので、お手本にしないほうが良いでしょう)
(???) 2017/11/08(水) 09:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.