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

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

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

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

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

1回答

1215閲覧

VBAのコントロールボタンの固定について。

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

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

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

1グッド

1クリップ

投稿2019/03/20 05:00

編集2019/03/27 08:53

Excelに画像URLを記載し、
マクロを使うと画像が取得できる
VBAを組んだファルがあるのですが、

マクロを実行すると、ボタンまで
画像と同じサイズになってしまいます。

ボタンだけ作成した時の大きさに
固定することはできないのでしょうか?

すみません。スマホから投稿したので、編集ボタンが見つからず困っていました。
PCなら編集が可能なのですね。

以下、現在設定しているVBAです。私が作成したものではなく、
知人が作成したものをコピーしただけなので、よくわからず。
連絡が取れないので、こちらで質問させていただきました。

よろしくお願いいたします。

Option Explicit Sub ImageCapture() Dim i As Long, imax As Long Dim sp As Shape Dim p imax = Cells(Rows.Count, 28).End(xlUp).Row For i = 3 To imax Cells(i, 3).Select p = "" & Cells(i, 28).Value & "" On Error GoTo ErrLabel ActiveSheet.Pictures.Insert(p).Select Next For Each sp In ActiveSheet.Shapes sp.Width = 90 '[幅を指定する] sp.Height = 90 '[高さを指定する] ErrLabel: Resume Next Next End Sub
arasi👍を押しています

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

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

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

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

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

ttyp03

2019/03/20 05:04

そのマクロを提示してくれないと!
m.ts10806

2019/03/20 05:05

https://teratail.com/questions/180372 のコメントで書いたとおり、質問は編集できますので。 多重投稿分の質問は削除依頼を出してください。 また、実際に実行されているコードがないと再現確認もできません。 文章だけではどういう状況なのか他人には分かりません。 コードの提示、画面キャプチャの提示 などして、自分の現在の状況とやりたいことをうまいこと伝わる工夫をお願いします。
azuapricot

2019/03/20 06:16

前2つの質問邪魔なので削除依頼出して消すようにお願いします。 基本質問するときは、自分のコードをマークダウン (<code>っていうボタンをおすと出てくるやつ)を使って提示するものですよ。 回答者はエスパーではありません。
BeatStar

2019/03/21 02:23

まずはコードを提示してください。
jawa

2019/03/25 08:10

>マクロを使うと画像が取得できるVBAを組んだファルがある そのVBAのコードは見ることができますか? 画像を取得したときにボタンサイズが変更されるのなら、そのようなコードが記載されているものと推測されます。 まずはコードを確認しないと、原因も、対応策もアドバイスできません。
退会済みユーザー

退会済みユーザー

2019/03/27 08:59

スマホから投稿したのですが、編集ボタンが見つかりませんでした。 PCからならできるみたいで、追記しました。 よろしくお願いいたします。
guest

回答1

0

Dim sp As Shape
Dim sp As Picture に修正。

For Each sp In ActiveSheet.Shapes を、
For Each sp In ActiveSheet.Pictures に修正。

Shapes Pictures の意味を調べしましょう。

追記

ループを追加とサイズ変更の2つに分けずに、追加したらすぐサイズ変更する方がシンプルになりますね。

vba

1Sub ImageCapture() 2 Dim i As Long, imax As Long 3 Dim p As String 4 5 imax = Cells(Rows.Count, 28).End(xlUp).Row 6 For i = 3 To imax 7 Cells(i, 3).Select 8 p = Cells(i, 28).Value 9 10 On Error Resume Next 11 With ActiveSheet.Pictures.Insert(p) 12 .Width = 90 '[幅を指定する] 13 .Height = 90 '[高さを指定する] 14 End With 15 On Error Goto 0 16 Next 17 18End Sub

投稿2019/03/27 14:36

編集2019/03/28 00:00
hatena19

総合スコア33715

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問