![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
マクロ初心者です。
ネットで調べながら、教えていただきながら、
なんとか少しずつ前に進んでいる私をお助け下さい。
【前提としては】
C列には○×のハイパーリンクが貼られています。
しかし、C3のように途中にハイパーリンクが無いものもあります。
ハイパーリンクはそれぞれクリックすると写真が表示されるようになっています。
【現状のマクロの動きとしては】
C列のハイパーリンクを受けてE列にアドレスが表示されるようになっています。
そしてそのE列のアドレスを受けてD列に写真が表示されるようになっています。
つまり、C3のセルのように、ハイパーリンクが無いと、E3のセルにアドレスが表示されません。
E3のセルにアドレスが表示されないと、D3のセルに写真が表示されません。
【問題としては】
E列にアドレスの表示をするマクロはC3のように
ハイパーリンクが途中なくてもそこは飛ばして
次のC4からのアドレスをE4からに表示してくれるようになっています。
しかし、写真表示のマクロはE3のようにアドレスがないと
D3以降の写真を貼りつけずに止まってしまします。
恐らく if で分岐するのだと思いますが、
その書き方がわからず困っています。
下記に現状のマクロも記載します。
お手数お掛けしますが、どうか教えてください。
よろしくお願い致します。
【現状のマクロ】
Dim h As Hyperlink
Dim a As String
Dim s As String
For Each h In ActiveSheet.Hyperlinks
a = h.Address
s = h.SubAddress
If s <> "" Then
a = a & " # " & s
End If
h.Range.Offset(0, 2) = a
Next
Dim i As Long, imax As Long
Dim sp As Shapes
imax = Cells(Rows.Count, 5).End(xlUp).Row
For i = 2 To imax
Cells(i, 4).Select
p = "" & Cells(i, 5).Value & ""
ActiveSheet.Pictures.Insert(p).Select
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Width = Selection.ShapeRange.Width * 0.25
Selection.ShapeRange.Height = Selection.ShapeRange.Height * 1.25
Next
For Each sp In ActiveSheet.Shapes
Next
End Sub
![「ハイパーリンクからアドレスを取得して画像」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/5/542696900_5a5c0eab37977/M.jpg)
No.1ベストアンサー
- 回答日時:
「For i = 2 To imax」と「Cells(i, 4).Select」の間に「If Cells(i, 5).Value <> "" Then」
「Selection.ShapeRange.Height = Selection.ShapeRange.Height * 1.25」と「Next」の間に「End If」
をそれぞれ入れれば良いのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
昨日、エクセルVBAで、隣のセル...
-
excel ある部分だけをコピペし...
-
並べ替えのマクロで対象行の範...
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
(Excel2003)すぐ左の最後の行...
-
抽出、マクロ関係になると思います...
-
エクセルのふりがなの関数について
-
Excel(VBA)データ入力に応じて...
-
EXCELで同一フォーマットのシー...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで複数設定したハイパーリンク先...
-
EXCELで1ヶ月分の連続した日付...
-
Excel、同じフォルダ内のExcel...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
Excelで同じシートのコピーを一...
-
シート1に列挙したNGワードを...
-
VBAでどうプログラムしたらいい...
-
sumif関数を使って複数シートに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
Excelで連続印刷をするマクロ
-
Excelでセル内の数式は残し値だ...
-
「マクロ」の足し算の式を教え...
-
エクセル VBA 小数点を含む数字...
-
エクセルで全ての数字間にカン...
-
Excel(VBA)データ入力に応じて...
-
wordのvbaでハイパーリンク設定...
-
Excel にて非表示行を探すワー...
-
Excel2007 セルを右方向に削除...
-
エクセル2003でマクロをおこな...
-
エクセルで、行ごとの並び替え...
-
値貼り付けをしても書式も貼り...
-
VBA コピーを有効行までループ...
-
yyyy/mm/ddの日付に一括変換す...
-
整数行を残し小数点の行を削除...
-
エクセルで行と列を入れ替えキ...
-
エクセルで特定の数字となる組...
-
エクセルで連番をマクロで
おすすめ情報