http://okwave.jp/qa4965370.htmlで質問させていただいた内容の発展です
A列にデータが入っているとします
たとえばA8:A50までとします(変動します)
A列の最終行50行目を取得したら、
S~U列8行目から、S~U列の、A列で取得した最終行目まで罫線を引きたいのです
(開始が8行目は決定しています)
罫線の設定はこちらで組めるので、そこまでの例を出していただきたいのですが……
S列のみだと、offsetで簡単にできたのですが、複数列にわたるとむずかしいでしょうか?
暇な時にでも回答お願いします
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
>S~U列8行目から、
ここに曖昧な表現がありますから、はっきりしませんが、なるべく忠実に表そうとすれば、こういうことだと思います。
Sub Test1()
Dim A As Range
Dim B As Range
Set A = Range("S8:U8")
Set B = Range("A65536").End(xlUp)
If B.Row > 8 Then
Range(A, B).Select
End If
Set A = Nothing
Set B = Nothing
End Sub
>S~U列8行目から、
ここが、もしも確定していないのなら、
Sub Test2()
Dim A As Range
Dim B As Range
Set A = Range("IV8").End(xlToLeft)
If A.Column > 18 Then 'S以降
If A.Column > 21 Then 'V以前
Set A = Range("U8")
End If
Else
GoTo EndLine
End If
Set B = Range("A65536").End(xlUp)
If B.Row < 8 Then '8行以前
GoTo EndLine
End If
Range(A, B).Select
EndLine:
Set A = Nothing
Set B = Nothing
End Sub
VBAもひとつの言語ですから、作業をVBA言語に映すことが可能です。こんなコードは通常ありえないのですが、もし、きんちと言葉がまとめられるなら、短くすることが可能だとは思います。
No.5
- 回答日時:
マクロの記録をとれば判ることを、繰り返し聞かないで、自分で考えること。
内容自体も難しいことは無い。個々に質問する前に、もうすこし、勉強を広げて、一通りのVBAの勉強が必要と思う。VBAの解説書やその逆引き解説書を読んでから
考えるべきで、今の段階で何かやろうとすると、質問ばかりになるとおもう。
ーーー
罫線の引き様を、田の字型で良いとすると(このことも質問に書いてないが)
例えば、S2:U12を選択して(操作で)罫線を書く。マクロの記録をとると、
Range("S2:U10").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
・・
以下長いので略
このうちA列の最下行の行番号によって
Range("S2:U10").Select
のU10の10の部分が変わることは判るだろう。
そして(A列)データ最下行を捉えるのは(他にも方法が有るが)
Sub test01()
d = Range("A65536").End(xlUp).Row
MsgBox d
End Sub
を実行して納得すること。この手法は定石で、ここの回答に頻繁に出てくる。
ForNexrを使って、ある列のセル全部に対し繰り返し処理をしたいとき必ず必要になる。
だから、最終形は
Sub test01()
d = Range("A65536").End(xlUp).Row
MsgBox d
Range("S2:U" & d).Select
Macro1
End Sub
Macro1はマクロの記録(最初はMacro1と言う名になる)をとったコードの、始めのほうの
Range("S2:U10").Select
の行だけを削除したもの(を指す。それを1行だけ削除してそのまま使う)。
Range("S2:U" & d).Selectはほかにも書き方があるが、これが判りやすいと思うが、こういうことができると言うのも。他人のコードを見て、学んだことだ。要は経験のみ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 罫線について B列3行目から21行毎にデータがはいります。 データがはいったらデータが入った 6 2022/11/15 17:22
- その他(Microsoft Office) 選択行の列範囲に二重線を引く 3 2022/06/08 12:21
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) マクロについて(tatsumaru77さん見てください) 5 2023/06/07 17:51
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- PDF 「PDF文書を簡単にWordで編集する方法」と 罫線が 図形で出力されるのは? 6 2022/06/14 06:51
- Visual Basic(VBA) エクセルVBAで次の様にデーターをテンプレートに反映したいのですが、よろしくお願い致します。 1 2022/04/17 15:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUPの列番号の最大は?
-
エクセルで離れた列を選択して...
-
VBA 指定した列にある日時デー...
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBAで結合セルを転記する法を教...
-
エクセルのソートで、数字より...
-
CSVファイルの「0落ち」にVBA
-
Excel VBA マクロで複数列が共...
-
エクセルで複数列の検索をマク...
-
エクセルで住所を県と市・郡と...
-
Excel文字列一括変換
-
エクセルマクロの組み方
-
EXCEL VBA 文字列から電話番号...
-
別のブック最終行最終列の次へ...
-
列方向、行方向の定義
-
Excelの行数、列数を増やしたい...
-
エクセル 重複したデータを別...
-
エクセル マクロ 範囲指定で...
-
<急募>エクセルデータの関数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA
-
Excelの行数、列数を増やしたい...
-
VBA 指定した列にある日時デー...
-
エクセルで複数列の検索をマク...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロの組み方
-
エクセルのソートで、数字より...
-
えABのある列って
-
VBAで別ブックの列を検索し、該...
-
Excel文字列一括変換
-
エクセルで住所を県と市・郡と...
-
リストからデータを紐付けしたい
-
Alt+Shift+↑を一括で行うには、...
-
エクセル マクロ 範囲指定で...
-
エクセルで最初の行や列を開け...
-
エクセル 重複 隣の列 一番...
おすすめ情報