Excel VBA質問箱 IV

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

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


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

【79431】選択した行の空欄の項目の抽出 tomitomi 17/10/19(木) 20:06 質問[未読]
【79436】Re:選択した行の空欄の項目の抽出 γ 17/10/19(木) 22:31 発言[未読]
【79437】Re:選択した行の空欄の項目の抽出 マナ 17/10/19(木) 22:47 発言[未読]

【79431】選択した行の空欄の項目の抽出
質問  tomitomi  - 17/10/19(木) 20:06 -

引用なし
パスワード
   初めて質問させていただきます。
また、VBAは初心者です。

丸投げになってしまうかもしれないのですが、
なにかアドバイスいただければ幸いです。。。

B列に商品名、3段目にチェック項目が書かれている表があります。
すんだ項目に済を入力しています。
一つの商品に3行使っていて、
済をいれるセルも結合してあったり、してなかったりです。
また、しなくていい項目のところには罫線で斜線が引かれています。
やりたいことは、
選択した商品が、どこがまだ済んでいないのかを別シートに抽出したいです。
下記りんごを選択した場合、りんご 1,3,5みたいな感じです。

    1    2    3    4    5
                    
りんご     済        済        
                
                    
みかん     済            
                    

表や、やりたいことがうまくご説明できなくて、申し訳ございません、

何卒、お力添えいただける方がいましたら、
よろしくお願いいたします。

【79436】Re:選択した行の空欄の項目の抽出
発言  γ  - 17/10/19(木) 22:31 -

引用なし
パスワード
   データの例を示したほうが早く回答が得られると思います。
行番号、列番号を明記したレイアウトを示してください。

【79437】Re:選択した行の空欄の項目の抽出
発言  マナ  - 17/10/19(木) 22:47 -

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

叩き台です。

Option Explicit

Sub test()
  Dim wsS As Worksheet
  Dim wsD As Worksheet
  Dim i As Long, j As Long, m As Long, n As Long
  Dim flg As Boolean
  
  Set wsS = Sheets("Sheet1")
  Set wsD = Worksheets.Add
  
  m = 1
  For i = 2 To wsS.Cells(Rows.Count, 1).End(xlUp).Row Step 3
    flg = False
    n = 1
    For j = 2 To wsS.Cells(1, 2).End(xlToRight).Column
      If wsS.Cells(i, j).Borders(xlDiagonalUp).LineStyle <> xlContinuous Then
        If wsS.Cells(i, j).Value = "" Then
          n = n + 1
          wsD.Cells(m, n).Value = j - 1
          flg = True
        End If
      End If
    Next
    
    If flg Then
      wsD.Cells(m, 1).Value = wsS.Cells(i, 1).Value
      m = m + 1
    End If
    
  Next
  
End Sub

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