Excel VBA質問箱 IV

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

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


11053 / 13646 ツリー ←次へ | 前へ→

【18427】選択されている行または列内のセルの値操作 k@z 04/9/23(木) 16:00 質問[未読]
【18428】Re:選択されている行または列内のセルの値... IROC 04/9/23(木) 16:44 回答[未読]
【18430】Re:選択されている行または列内のセルの値... k@z 04/9/23(木) 18:17 質問[未読]
【18432】Re:選択されている行または列内のセルの値... IROC 04/9/23(木) 18:27 回答[未読]
【18433】Re:選択されている行または列内のセルの値... つん 04/9/23(木) 18:40 回答[未読]
【18434】Re:選択されている行または列内のセルの値... k@z 04/9/23(木) 19:09 質問[未読]
【18435】Re:選択されている行または列内のセルの値... つん 04/9/23(木) 19:31 発言[未読]
【18436】Re:選択されている行または列内のセルの値... k@z 04/9/23(木) 19:37 発言[未読]
【18437】Re:選択されている行または列内のセルの値... つん 04/9/23(木) 20:06 回答[未読]
【18438】Re:選択されている行または列内のセルの値... k@z 04/9/23(木) 20:42 お礼[未読]
【18439】ちょっと待ってー つん 04/9/23(木) 20:58 発言[未読]
【18443】Re:ちょっと待ってー k@z 04/9/23(木) 22:58 お礼[未読]

【18427】選択されている行または列内のセルの値操...
質問  k@z  - 04/9/23(木) 16:00 -

引用なし
パスワード
   例えば
1.複数行を選択
2.選択されている行の1列目に1を設定
 選択されている行の2列目〜10列目のセルを赤くする。

のように選択された行または列内に含まれる特定のセルに
値を設定したり、特定のセルの色を変更
するようなことはできるのでしょうか?

Selection.EntireColumn
Selection.EntireRow
などの構文を使えばできると思って調べていたのですが
結局わかりませんでした。

どなたかご存知でしたら教えていただきたいです。
宜しくお願いいたします。

【18428】Re:選択されている行または列内のセルの...
回答  IROC  - 04/9/23(木) 16:44 -

引用なし
パスワード
   Selection.Columns(1).Value = "1"
  Selection.Offset(0, 1).Resize(Selection.Rows.Count, Selection.Columns.Count - 1).Interior.ColorIndex = 34

【18430】Re:選択されている行または列内のセルの...
質問  k@z  - 04/9/23(木) 18:17 -

引用なし
パスワード
   ご回答ありがとうございました。

しかしながら、以下の部分で実行時エラーが生じてしまいました。
Selection.Offset(0, 1).Resize(Selection.Rows.Count, Selection.Columns.Count - 1).Interior.ColorIndex = 34

「実行時エラー'1004'
 アプリケーション定義またはオブジェクト定義のエラーです。」

ちなみに
Selection.Offset.Resize(Selection.Rows.Count, Selection.Columns.Count - 1).Interior.ColorIndex = 34
とした場合に実行時エラーは生じなかったのですが
選択した行の色が全て水色になってしまいました。

何が原因なのでしょうか?


▼IROC さん:
>Selection.Columns(1).Value = "1"
>  Selection.Offset(0, 1).Resize(Selection.Rows.Count, Selection.Columns.Count - 1).Interior.ColorIndex = 34

【18432】Re:選択されている行または列内のセルの...
回答  IROC  - 04/9/23(木) 18:27 -

引用なし
パスワード
   2列以上選択しなかっただけでは?

【18433】Re:選択されている行または列内のセルの...
回答  つん E-MAIL  - 04/9/23(木) 18:40 -

引用なし
パスワード
   こんにちは。

これではいかがですか?

With Selection
  Range(Cells(.Row, .Column + 1), Cells(.Rows.Count + .Row - 1, .Column + 10)).Interior.ColorIndex = 34
End With

【18434】Re:選択されている行または列内のセルの...
質問  k@z  - 04/9/23(木) 19:09 -

引用なし
パスワード
   IROCさん、つんさんありがとうございました。

>With Selection
>  Range(Cells(.Row, .Column + 1), Cells(.Rows.Count + .Row - 1, .Column + 10)).Interior.ColorIndex = 34
>End With

上記の方法でやりましたらうまくいきました。

そこで、もうこれに関連してもう一つほど質問があるのですがよろしいでしょうか?

例えば
1.複数セル(EX.B1〜B3)を選択
2.選択されているセルが含まれている行の1列目に1を設定
 選択されているセルが含まれている行の2列目〜10列目のセルを赤くする。

のように複数セルを選択された場合でも複数行を選択された場合と
同様の動きをさせたいのですが、その場合どのようにすればよいでしょうか?

何度も質問して申し訳ございませんが、宜しくお願いいたします。

【18435】Re:選択されている行または列内のセルの...
発言  つん E-MAIL  - 04/9/23(木) 19:31 -

引用なし
パスワード
   >例えば
>1.複数セル(EX.B1〜B3)を選択
>2.選択されているセルが含まれている行の1列目に1を設定
> 選択されているセルが含まれている行の2列目〜10列目のセルを赤くする。

「EX列全体」と、「B1〜B3」ってことですか?

【18436】Re:選択されている行または列内のセルの...
発言  k@z  - 04/9/23(木) 19:37 -

引用なし
パスワード
   誤解を与えてしまいましたようで申し訳ございません。
EX = 「例」という意味でした。

ですので「B1〜B3」となります。

▼つん さん:
>>例えば
>>1.複数セル(EX.B1〜B3)を選択
>>2.選択されているセルが含まれている行の1列目に1を設定
>> 選択されているセルが含まれている行の2列目〜10列目のセルを赤くする。
>
>「EX列全体」と、「B1〜B3」ってことですか?

【18437】Re:選択されている行または列内のセルの...
回答  つん E-MAIL  - 04/9/23(木) 20:06 -

引用なし
パスワード
   >ですので「B1〜B3」となります。

そういうことでしたら、別に同じコードでOKだと思いますが・・・
試してみはりました?

赤のColorIndexの番号は、マクロの記録で調べてね!

【18438】Re:選択されている行または列内のセルの...
お礼  k@z  - 04/9/23(木) 20:42 -

引用なし
パスワード
   つんさんのおっしゃられたように
.column → 実際の列番号
と変えるだけでOKでした。(下記参照のこと)
=======================================================
With Selection
 Range(Cells(.Row, 2), Cells(.Rows.Count + .Row - 1,10)).Interior.ColorIndex = 34
End With
=======================================================

皆さんのおかげで問題解決することができました。
ありがとうございました。

また、何かありましたらご教授ください。
宜しくお願いいたします。m(^ ^)m

▼つん さん:
>>ですので「B1〜B3」となります。
>
>そういうことでしたら、別に同じコードでOKだと思いますが・・・
>試してみはりました?
>
>赤のColorIndexの番号は、マクロの記録で調べてね!

【18439】ちょっと待ってー
発言  つん E-MAIL  - 04/9/23(木) 20:58 -

引用なし
パスワード
   >つんさんのおっしゃられたように
> .column → 実際の列番号
>と変えるだけでOKでした。(下記参照のこと)
>=======================================================
>With Selection
> Range(Cells(.Row, 2), Cells(.Rows.Count + .Row - 1,10)).Interior.ColorIndex = 34
>End With
>=======================================================

えと、私は、

With Selection
  Range(Cells(.Row, .Column + 1), Cells(.Rows.Count + .Row - 1, .Column + 10)).Interior.ColorIndex = 34
End With

のままで実行してOK!と言ったつもりなんですけど・・・
実際の列番号を指定してしまうと、列が固定されてしまって、
選択したセル範囲の2列目・・・というのは、実現出来ないんじゃないですか?
私がご質問の意味を読みとれてないだけかしらん?
もう一度お確かめくださいませ〜

【18443】Re:ちょっと待ってー
お礼  k@z  - 04/9/23(木) 22:58 -

引用なし
パスワード
   言葉足らずですいません。m(-_-)m

私が実現したかったのは
1.複数行が選択されたとき
 選択したセル範囲の2列目・・・

2.複数セル(B1:B3)が選択されたとき
 選択されたセルが含まれている行の2列目・・・

ということだったのです。

ですので1.、2.どちらも2列目固定で問題ないので
実現することができました。

最後まで気遣って頂きありがとうございました。

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