A列からC列に貼り付けた画像を印刷範囲に指定したいです
下記コードのどの部分を変えればいいでしょうか
今後、A列からD列のパターンも作成するので解説もあると嬉しいです。
Sub test()
Dim shp As Shape
Dim rng As Range
Dim r As Long
For Each shp In ActiveSheet.Shapes
If Not shp.Name Like "Drop Down *" Then '入力規則以外
If shp.Type <> msoFormControl Then 'ボタン(フォームコントロール)以外
Set rng = Range(shp.TopLeftCell, shp.BottomRightCell)
If rng.Column = 1 Then
If rng.Row + rng.Rows.Count - 1 > r Then
r = rng.Row + rng.Rows.Count - 1
End If
End If
End If
End If
Next shp
ActiveSheet.PageSetup.PrintArea = Range("A1:A" & r).Address
ActiveSheet.PrintPreview
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
>下記コードのどの部分を変えればいいでしょうか
そもそもの不明点が多すぎるので、どこを変えれば良いのか判断がつきません。
なさりたいことを、正確に文章で示していただければ、アドバイスできるかも知れません。
特に、以下の点が不明です。
・印刷範囲の設定方法
ループしてるってことは複数のshapeがあることが前提なんでしょうけれど、そのうちで条件に合致する、シートの一番下にあるものまでを印刷範囲にしたいということでしょうか?
行番号がが大きな行に存在する場合には、必ずしも1ページには収まりませんけれど、それはOK?
・対象とする画像(?)のサイズ
>A列からC列に貼り付けた画像~
特に「A列からC列」というサイズをチェックをしているようには見受けられません。
4列分、5列分のものがあっても、3列分に収まっているものだけに限定するということでしょうか?
その際に、2列のもの(例えば、BC列)は除外するという意味でしょうか?
あるいは、A:C列内に納まってさえいれば、1列内のものでも対象にするということでしょうか?
・対象とするオブジェクトの種類
文章では「画像」とありますが、実際のコードでは「Drop Down以外、msoFormControl以外」という限定の仕方をしています。
この条件だと「画像」だけを選別しているわけではないように見受けられます。
(結果的にFormControlまたは、DropDownという名称以外のものは全て対象になります)
例えば、ActiveXのコントロールとか、図形なども含まれちゃいますけれど、そういう意図でしょうか。
デフォルトでは、いわゆる画像のName属性は「Picture #」のようになると思いますが、いろいろとReNameされている可能性があるということでしょうか?
(「Drop Down」という名称は、デフォルトでは付かないと思いますけれど・・)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) VBAで教えて頂きたいのですが? 1 2022/04/29 02:36
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel元に戻す方法を教えてくだ...
-
エクセルで二つの数字の小さい...
-
「B列が日曜の場合」C列に/...
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
PowerPointで表の1つの列だけ...
-
A列がない・・・A列が非表示に...
-
文字列に数字を含むセルを調べたい
-
Excelで半角の文字を含むセルを...
-
VBAで文字列を数値に変換したい
-
エクセルで、列の空欄に隣の列...
-
スマートな関数を教えて下さい。
-
エクセル 文字数 多い順 並...
-
Excel、市から登録している住所...
-
エクセルかグーグルスプレッド...
-
エクセルで文字が混じった数字...
-
エクセルで2列のセルを連続して...
-
B列の値がA列にあるかを調べる関数
-
エクセル ひらがなの文字を抽出
-
EXCELで 一桁の数値を二桁に
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
エクセルの項目軸を左寄せにしたい
-
Excel、市から登録している住所...
-
エクセルで、列の空欄に隣の列...
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
A列がない・・・A列が非表示に...
-
文字列に数字を含むセルを調べたい
-
50人を数回、グループ分けする...
おすすめ情報