Excel VBA質問箱 IV

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

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


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

【81727】複数列から特定の条件を含むセルをクリアするVBA 事務担当初心者 21/4/18(日) 7:52 質問[未読]
【81728】Re:複数列から特定の条件を含むセルをクリ... γ 21/4/18(日) 10:03 回答[未読]
【81729】Re:複数列から特定の条件を含むセルをクリ... 事務担当初心者 21/4/18(日) 11:16 お礼[未読]
【81730】Re:複数列から特定の条件を含むセルをクリ... γ 21/4/18(日) 12:52 回答[未読]
【81731】Re:複数列から特定の条件を含むセルをクリ... 事務担当初心者 21/4/18(日) 16:09 お礼[未読]

【81727】複数列から特定の条件を含むセルをクリア...
質問  事務担当初心者  - 21/4/18(日) 7:52 -

引用なし
パスワード
   宜しくお願い致します。

■複数列から特定の条件を含むセルをクリアするマクロ
 
複数列:sheet2のB列、K列、L列、O列、AA列のそれぞれ6行目から400行目
特定の条件:sheet1のセル(H3)と(H4)の両方の値を含む
      sheet2のB列から順番に該当セルをクリアしたい
      ※B列からK列に反映する関数をK列の一部に植えているので
       関数を保護するために先にB列から消したいです。


具体的に申しますと

sheet1のH3→1年
sheet1のH4→2組

※仕様上、セルH3に「1年2組」と指定せず、H3とH4の別のセルにしています。


sheet2のB列の内容↓
1年1組5番
1年2組38番←38番という番号も含めてこのセルをクリア
1年3組7番
1年2組6番←このセルをクリア
2年2組12番
3年1組9番
1年5組18番
1年2組2番←このセルをクリア
1年2組9番←このセルをクリア
4年2組30番
6年2組60番
1年2組35番←このセルをクリア

sheet2のK列の内容↓
1年2組5番←このセルをクリア
1年4組7番
1年9組6番
2年7組12番
3年8組9番
1年6組18番
1年2組38番←このセルはB列から反映しているので
      B列のセルがクリアになるとセルに植えている
      関数は消えないようにしたいです
1年3組2番
1年2組89番←このセルをクリア
4年2組30番
6年2組76番
1年2組58番←このセルをクリア

他のsheet2のL列、O列、AA列も同じです。

このような作業を実現することは可能でしょうか?
宜しくお願い致します。

【81728】Re:複数列から特定の条件を含むセルをク...
回答  γ  - 21/4/18(日) 10:03 -

引用なし
パスワード
   こんな感じですかね。
Sub testA()
  Dim cols As Variant
  Dim s  As String
  Dim r  As Long
  Dim c  As Variant

  cols = "B,K,L,O,AA"       '対象列
  s = Sheet1.Range("H3") & Sheet1.Range("H4") 'つなげた文字列という前提
  With Sheet2
    For Each c In Split(cols, ",")
      For r = 6 To 400
        If InStr(.Cells(r, c).Value, s) > 0 Then .Cells(r, c).ClearContents
      Next
    Next
  End With
End Sub

# 式や関数は"植える"ものなんですねえ。(さすが瑞穂の国ですw)

# 最近、返事の無い方が見られますが、そうならない範を示して頂きたい。

【81729】Re:複数列から特定の条件を含むセルをク...
お礼  事務担当初心者  - 21/4/18(日) 11:16 -

引用なし
パスワード
   ▼γ さん:

お教えいただきありがとうございます。

B列でセルの結合をしており、B列では発動できなかったので
K列のみで実施してみたところ発動し、感動いたしました。
(K列に植えていた(笑)式も消えてしまいましたが。。)

B列での形式を変える等をし、K列で植えている式が消えないよう
工夫してみます。

早急にご回答いただき、感謝いたします。
誠にありがとうございます。

【81730】Re:複数列から特定の条件を含むセルをク...
回答  γ  - 21/4/18(日) 12:52 -

引用なし
パスワード
   結合セルと後出しされても困りますよ。
予め言ってもらわないと。
.Clearcontentsではなく
=Empty
としてください。

【81731】Re:複数列から特定の条件を含むセルをク...
お礼  事務担当初心者  - 21/4/18(日) 16:09 -

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

たびたびご返答いただき、感謝いたします。

「結合セルであること」が必要条件であることすら認識できていないレベルで、提示する情報が漏れており、大変失礼しました。

=Empty

に変更しましたところ、B列でも作動し、K列でも式が消えず
「こうしたい」と思っていた通りの動作になりました。

いただいたコードから勉強させていただきます。

ありがとうございます!

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