Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2764 / 13645 ツリー ←次へ | 前へ→

【66098】指定範囲の制御について 坂井 10/7/29(木) 10:31 質問[未読]
【66099】Re:指定範囲の制御について Jaka 10/7/29(木) 12:12 発言[未読]
【66100】Re:指定範囲の制御について 坂井 10/7/29(木) 13:40 質問[未読]
【66101】Re:指定範囲の制御について Jaka 10/7/29(木) 14:35 発言[未読]

【66098】指定範囲の制御について
質問  坂井  - 10/7/29(木) 10:31 -

引用なし
パスワード
   お世話になります。

 マクロの勉強中ですので、よろしくお願いします。
入力したデータをチェックするために、V,W,X列の2行目〜最終行までのそれぞれのセルの値によって、該当行色の塗りつぶしを表示させたくて、以下のマクロを
組みました(自動記録式)。
 動作については、問題がないですが、範囲の「最終行」はどうするのか?わかりません。最終行の定義はA列連続のデータですので、一番下の行は最終行とします。

Sub test001()
       ↓最終行
  Range("B2:U4").Select
  Selection.FormatConditions.Delete
  Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=AND($V2<>""--"",$W2<>""--"",$X2<>""--"")"
  Selection.FormatConditions(1).Interior.ColorIndex = 15
  Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=AND($V2<>""--"",$W2=""--"",$X2=""--"")"
  Selection.FormatConditions(2).Interior.ColorIndex = 45
  Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=AND($V2<>""--"",$W2<>""--"",$X2=""--"")"
  Selection.FormatConditions(3).Interior.ColorIndex = 3
End Sub

【66099】Re:指定範囲の制御について
発言  Jaka  - 10/7/29(木) 12:12 -

引用なし
パスワード
   ▼坂井 さん:
>範囲の「最終行」はどうするのか?わかりません。
範囲の最終行の意味がいまいちあいまいなのです。

下記のように1列づつ取得して、比較する。

A列の最終行
MsgBox Range("A65536").End(xlUp).Row
MsgBox Cells(Rows.Count, 1).End(xlUp).Row

もしくは、

Dim Cel As Range
With Range("範囲")
  Set Cel = .Cells.Find("*", After:=.Cells(.Count), LookIn:=xlValues, _
             LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
  MsgBox Cel.Row
End With

【66100】Re:指定範囲の制御について
質問  坂井  - 10/7/29(木) 13:40 -

引用なし
パスワード
   Jaka さん

 すいません!説明不足。
 範囲を指定するには、A2〜Z**範囲の中にZ列の最終行を求めたいです。

以下の例を見ますと、A列の値は3行目までなので、最終行は3です。範囲は
(A2:Z3)となる。
入力の進捗によって、段々行を伸びるから、最終行の取得は難しくなりますので、
ご伝授下さい。

  A  B  ・・・Z
1  あ  10     20
2  い  15     25
3  お  
4
5

【66101】Re:指定範囲の制御について
発言  Jaka  - 10/7/29(木) 14:35 -

引用なし
パスワード
   ▼坂井 さん:
> すいません!説明不足。
まだまだ説明不足と思います。

手っ取り早そうなのは、A1セル選択、Ctrl + * で選択された範囲を、
下に1行分づらして、範囲を1行分縮小。

2764 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free