Excel VBA質問箱 IV

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

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


6230 / 13644 ツリー ←次へ | 前へ→

【46469】教えてください! Yuko 07/2/4(日) 12:47 質問[未読]
【46470】Re:セルで指定された範囲を着色したい かみちゃん 07/2/4(日) 13:00 発言[未読]
【46471】Re:セルで指定された範囲を着色したい かみちゃん 07/2/4(日) 13:19 回答[未読]
【46472】Re:セルで指定された範囲を着色したい Yuko 07/2/4(日) 13:38 お礼[未読]
【46473】Re:教えてください! Yuko 07/2/4(日) 15:20 質問[未読]
【46474】Re:セルで指定された範囲を着色したい かみちゃん 07/2/4(日) 15:48 回答[未読]
【46475】Re:セルで指定された範囲を着色したい Yuko 07/2/4(日) 16:14 お礼[未読]

【46469】教えてください!
質問  Yuko  - 07/2/4(日) 12:47 -

引用なし
パスワード
    A    B C D E  F
1C二郎     3 6
2 
3    1 2 3 4 ・・・・・31
4 A太郎
5 B子
6 C二郎

はじめまして。 上の表で、A1で担当者を、D1で始まりを、E1で終わりを
指定して、担当者の日付の範囲を着色したいのですが、どのようにすれば
よいのでしょうか?
全くの初心者ですみません。どなたか教えてください!

【46470】Re:セルで指定された範囲を着色したい
発言  かみちゃん  - 07/2/4(日) 13:00 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> A    B C D E  F
>1C二郎     3 6
>2 
>3    1 2 3 4 ・・・・・31
>4 A太郎
>5 B子
>6 C二郎
>
>上の表で、A1で担当者を、D1で始まりを、E1で終わりを
>指定して、担当者の日付の範囲を着色したい

上記の例では、D6:G6を着色したいりでしょうか?
3行目は、日付ですか?
1日も抜けがないということでいいですか?
抜けがないのであれば、D1の値+1列〜E1の値+1列までの範囲、つまり、4列目〜
7列目までの間でA1で指定された範囲を選択して、色付けということになるのですが・・・

【46471】Re:セルで指定された範囲を着色したい
回答  かみちゃん  - 07/2/4(日) 13:19 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>> A    B C D E  F
>>1C二郎     3 6
>>2 
>>3    1 2 3 4 ・・・・・31
>>4 A太郎
>>5 B子
>>6 C二郎
>>
>>上の表で、A1で担当者を、D1で始まりを、E1で終わりを
>>指定して、担当者の日付の範囲を着色したい
>
>上記の例では、D6:G6を着色したいりでしょうか?
>3行目は、日付ですか?
>1日も抜けがないということでいいですか?

上記の前提でよければ、以下のようなコードでできると思います。
Sub Sample()
 Dim FR As Range
 Dim rngBase As Range
 
 '基準セルの設定
 Set rngBase = Range("A1")
 
 With rngBase
  With Range(.Offset(1), .Offset(Rows.Count - .Row).End(xlUp))
   Set FR = .Find(rngBase.Value, , xlValues, xlWhole)
  End With
  If Not FR Is Nothing Then
   Range(FR.Offset(, .Offset(, 3).Value), FR.Offset(, .Offset(, 4).Value)).Select
  Else
   MsgBox "見つかりません" & vbCrLf & .Value
  End If
 End With
End Sub

色付けの部分は、マクロの記録ででも得られますので、上記のコードは、
色付け対象範囲の選択までにしてあります。

【46472】Re:セルで指定された範囲を着色したい
お礼  Yuko  - 07/2/4(日) 13:38 -

引用なし
パスワード
   ▼かみちゃん さん:
分かりづら質問に早速答えていただき
感謝!感謝です。
 すぐ、試してみます。
ほんとに ありがとう ございました!

【46473】Re:教えてください!
質問  Yuko  - 07/2/4(日) 15:20 -

引用なし
パスワード
     A  B  C  D  E  F  G  H  I  J
1
2   B二郎           3    6
3
4      1  2  3  4  5  6  7  8 
5
6A太郎
7B子
8C二郎

 先ほどは、ほんとにありがとうございました。
さっきの表の通りだと、バッチリ決まったのですが、
実際は行と列が上の間隔(位置関係)です。
 応用がきかなくてすみません。
もう一度教えてもらえませんでしょうか?

【46474】Re:セルで指定された範囲を着色したい
回答  かみちゃん  - 07/2/4(日) 15:48 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> 実際は行と列が上の間隔(位置関係)です。
> 応用がきかなくてすみません。

応用が利かせられないのなら、最初からきちんとサンプルを示しましょうね。
別に隠すような内容ではないように思います。

で、以下のようにします。
何が変わったかわかるように前回のコードは、コメント文にして残してあります。

Sub Sample2()
 Dim FR As Range
 Dim rngBase As Range

 '基準セルの設定
' Set rngBase = Range("A1")
 Set rngBase = Range("B2")

 With rngBase
'  With Range(.Offset(1), .Offset(Rows.Count - .Row).End(xlUp))
  With Range(.Offset(4, -1), .Offset(Rows.Count - .Row, -1).End(xlUp))
   Set FR = .Find(rngBase.Value, , xlValues, xlWhole)
  End With
  If Not FR Is Nothing Then
'   Range(FR.Offset(, .Offset(, 3).Value), FR.Offset(, .Offset(, 4).Value)).Select
   Range(FR.Offset(, .Offset(, 6).Value), FR.Offset(, .Offset(, 8).Value)).Select
  Else
   MsgBox "見つかりません" & vbCrLf & .Value
  End If
 End With
End Sub

※シートイメージを提示されるときは、投稿欄の右下にある「等幅」にチェックを
つけると見やすくなりますよ。

【46475】Re:セルで指定された範囲を着色したい
お礼  Yuko  - 07/2/4(日) 16:14 -

引用なし
パスワード
   ▼かみちゃん さん:
とほほほほ・・・・・・
ほんとに すみません・・・
こんどからは 気をつけますね。
かみちゃんさん 今日はありがとうございました。

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