Excel VBA質問箱 IV

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

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


35125 / 76738 ←次へ | 前へ→

【46815】Re:検索
回答  Kein  - 07/2/16(金) 0:35 -

引用なし
パスワード
   シート2のシートモジュールへ、以下のマクロを入れてみて下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Nm As Long, xR As Long, i As Long
  Dim CkC As Variant
  Dim MyR As Range, C As Range
 
  With Target
   If .Address <> "$A$1" Then Exit Sub
   If .Count > 1 Then Exit Sub
   If IsEmpty(.Value) Then Exit Sub
   If Not IsNumeric(.Value) Then Exit Sub
   If .Value < 1 Or .Value > 31 Then Exit Sub
   Nm = .Value
  End With
  With Worksheets("Sheet1")
   CkC = Application.Match(Nm, .Rows(1), 0)
   If IsError(CkC) Then
     MsgBox "その番号は見つかりません", 48: Exit Sub
   End If
   xR = .Range("A65536").End(xlUp).Row
   Set MyR = .Range(.Cells(3, CkC), .Cells(xR, CkC))
   If WorksheetFunction.CountBlank(MyR) = 0 Then
     MsgBox "空白の科目はありません", 48
     Set MyR = Nothing: Exit Sub
   End If
   Set MyR = _
   Intersect(MyR.SpecialCells(4).EntireRow, .Range("B:B"))
  End With
  Application.EnableEvents = False
  Rows("20:20").ClearContents
  For Each C In MyR
   i = i + 1: Cells(20, i).Value = C.Value
  Next
  Application.EnableEvents = True: Set MyR = Nothing
End Sub

0 hits

【46811】検索 bon 07/2/15(木) 23:48 質問
【46812】Re:検索 かみちゃん 07/2/16(金) 0:16 発言
【46815】Re:検索 Kein 07/2/16(金) 0:35 回答
【46818】Re:検索 bon 07/2/16(金) 0:48 お礼

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