ここから本文です

以下のマクロではエラーは出ませんが 最後のifの条件分岐が全く反応しません。 (...

ami********さん

2018/12/2709:13:19

以下のマクロではエラーは出ませんが
最後のifの条件分岐が全く反応しません。
(画面再描画抑止等のマクロは省略しています)
集計シートに移動した後、抽出処理されません。

反応しないのは絶対にifからおかしいといろいろと試してみたのですが
さっぱりで一体どこを修正すればいいのやら。
それとも考え方がそもそも間違っているのかとも。
マクロ初心者で今はこれが精いっぱいです。
ご存知の方がいればご教示下さい。




Sub 抽出テスト9()
Workbooks("会計.xlsm").Worksheets("集計").Select

Dim a1 As Long
Dim aa1 As Long
Dim x1 As Long
Dim a2 As Long
Dim x2 As Long
Dim a3 As Long

a1 = Worksheets("集計").Cells(Rows.Count, 1).End(xlUp).Row
aa1 = Worksheets("カウント").Cells(Rows.Count, 1).End(xlUp).Row
x1 = Worksheets("集計").Cells(Rows.Count, 24).End(xlUp).Row

For a2 = 2 To a1
For a3 = 2 To aa1
For x2 = 2 To x1

'X列に緊急がなく、かつカウントのA列に記載されている文字が含まれている文字を抽出し
カウントシートのc3に貼り付ける

If Worksheets("集計").Cells(x2, 24).Value <> "*緊急*" And _
Worksheets("集計").Cells(a2, 1).Value Like "*" & Worksheets("カウント").Cells(a3, 1).Value & "*" Then
Worksheets("集計").UsedRange.Copy
Worksheets("カウント").Range("C3").PasteSpecial Paste:=xlPasteValues

End If
Next x2
Next a3
Next a2

End Sub

閲覧数:
42
回答数:
2

違反報告

ベストアンサーに選ばれた回答

web********さん

2018/12/2709:43:12

>最後のifの条件分岐が全く反応しません

条件式の対象の状況が不明なので正解を出せるのは”超能力者”かよほど”直感力に優れた人”だけです

If文のところにブレークポイントを置いて

Worksheets("集計").Cells(x2, 24).Value <> "*緊急*"

Worksheets("集計").Cells(a2, 1).Value Like "*" & Worksheets("カウント").Cells(a3, 1).Value & "*"

それぞれの状態を確認して、思い通りの結果になっているかを見てみてください

  • 質問者

    ami********さん

    2018/12/2714:30:09

    肝心な説明が不足しておりました。

    会計ファイルには集計シートとカウントシートがあり、
    カウントシートのA列には aaa~  ~bbb  ~ccc~ とリスト一覧が記載してあります。 

    実施しようとしているのは
    集計シートX列(空欄あり)の緊急~という項目以外且つ、A列の項目(空欄なし随時追加)にリスト一覧シートのA列の文字を含む行を抽出してカウントシートのC3に貼付けようとしています。
    実際にはC3にA列だけを貼り付けたいのですが、マクロが不明です。

    集計シートのA列 (現状空欄なし 今後空欄がある場合もあり)
    集計シートのX列 (空欄あり )
    カウントシートのA列(空欄なし)

    ブレイクポイントで試してみたところ、抽出せず現状のリストが全てカウントシートのC3に貼りついてしまいました。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

ck0********さん

2018/12/2709:17:47

If Worksheets("集計").Cells(x2, 24).Value <> "*緊急*" And _
を、
If Worksheets("集計").Cells(x2, 24).Value Like <> "*緊急*" And _
とか?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる