Excel VBA質問箱 IV

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

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


37733 / 76732 ←次へ | 前へ→

【44161】Re:チェックレポートの作成について
発言  ichinose  - 06/11/6(月) 21:31 -

引用なし
パスワード
   ▼夜勤労働者 さん:
こんばんは。


>レイアウトの変更があって、修正はうまくいかず、止まってしまいました。
>教えていただけませんか?
これは、元のコードをじっくり時間をかけて解釈されて
ご自分で手直しされたほうが良いと思いますけどね!!

>実施したいこと:
>チェック範囲及び基準値を以下のように変更する場合は、
>チェック範囲:C2:E760(3列)===>G5:K760(5列)へ変更
>基準値:B2===>L5
>
>修正結果:
>Sub test02()
>Dim idx As Long, jdx As Long
>  Dim rng As Range
>  Dim add1 As String
>  Dim add2 As String
>  Dim ans As Variant
>  Dim mes As String
>  Set rng = Range("a5", Cells(Rows.Count, "a").End(xlUp)) →2から5へ
'   ↑このコードがA列に入力されているデータを元に
'    入力されているデータ範囲を取得しようとしていることが理解できないと
'    応用が利きませんよ!!

  If rng.Row > 4 Then
   '↑データの始まりが5行以上であることが処理を行うための最初のハードル
>    With rng
      add1 = .Offset(0, 6).Resize(, 5).Address
'      ↑G列〜K列なら上記のように修正、よく意味を考えてください
      add2 = .Offset(0, 11).Address
'      ↑L列が除数の列なら上記になります。
>      ans = Evaluate("=transpose(if(mod(" & add1 & "," & add2 & _
>              ")<>0,ADDRESS(ROW(" & add1 & "),COLUMN(" & add1 & ")),""""))")
>      End With
>      For idx = LBound(ans, 2) To UBound(ans, 2)
>       For jdx = LBound(ans, 1) To UBound(ans, 1)
>         If ans(jdx, idx) <> "" Then
>           mes = mes & ans(jdx, idx) & vbCrLf
>         End If
>       Next
>      Next
>      If mes <> "" Then
>       MsgBox mes, , "データのチェック"  →タイトルを付けました
>      End If
>   End If
>End Sub
>
>チェック範囲及び基準値を以下のように変更する場合は、
>チェック範囲:C2:E760(3列)===>G5:K760(5列)へ変更
>基準値:B2===>L5

きちんと意味を理解されながら、修正してみてください

0 hits

【44128】チェックレポートの作成について 夜勤労働者 06/11/5(日) 9:56 質問
【44130】Re:チェックレポートの作成について ichinose 06/11/5(日) 10:09 発言
【44134】Re:チェックレポートの作成について 夜勤労働者 06/11/5(日) 13:02 質問
【44136】Re:チェックレポートの作成について Hirofumi 06/11/5(日) 18:03 回答
【44137】Re:チェックレポートの作成について ichinose 06/11/5(日) 20:29 発言
【44150】Re:チェックレポートの作成について 夜勤労働者 06/11/6(月) 14:06 質問
【44161】Re:チェックレポートの作成について ichinose 06/11/6(月) 21:31 発言

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