Excel VBA質問箱 IV

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

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


52944 / 76732 ←次へ | 前へ→

【28613】Re:検索該当行の複数セル値の取得について
回答  kobasan  - 05/9/10(土) 10:36 -

引用なし
パスワード
   改良版です。
整理と追加をしてみました。
マスターの重複もチェックしています。

Sheet1が転記用シートです。
Sheet2がマスターです。

=====================================================
Sheet1モジュールに

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim EndC2 As Range, rng2 As Range
Dim r As Range
Dim 行 As Long
  '
  行 = Target.Row
  If Target.Count > 1 Then Exit Sub
  If (Target.Column - 1) * (Target.Column - 11) <> 0 Then Exit Sub
  If Cells(行, "A").Value = "" Then del 行: Exit Sub
  If Cells(行, "K").Value = "" Then del 行: Exit Sub
  '
  Set EndC2 = Sheets("Sheet2").Range("A65536").End(xlUp)
  Set rng2 = Sheets("Sheet2").Range("A2", EndC2) 'データ範囲(参照元)
  '
  For Each r In Range("A2", Range("A65536").End(xlUp))
    If r.Row <> 行 Then
      If Cells(行, "A").Value & Cells(行, "K").Value = _
        Cells(r.Row, "A").Value & Cells(r.Row, "K").Value Then
        Beep
        MsgBox "重複"
        del 行
        Target.ClearContents
        Target.Select
        GoTo Jump
      End If
    End If
  Next
  '
  del 行
  Application.EnableEvents = False
  For Each r In rng2
    If r.Value & r.Offset(, 10).Value = _
      Cells(行, "A").Value & Cells(行, "K").Value Then
      Cells(行, "M").Resize(, 2).Value = r.Offset(, 12).Resize(, 2).Value
      Exit For
    End If
  Next
  Application.EnableEvents = True
  '
Jump:
  Set rng2 = Nothing
  Set EndC2 = Nothing
End Sub

Private Sub del(r As Long)
  Range(Cells(r, "m"), Cells(r, "n")).ClearContents
End Sub


===========================================================

Sheet2モジュールに

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Dim 行 As Long

  行 = Target.Row
  If Target.Count > 1 Then Exit Sub
  If (Target.Column - 1) * (Target.Column - 11) <> 0 Then Exit Sub
  If Cells(行, "A").Value = "" Then Exit Sub
  If Cells(行, "K").Value = "" Then Exit Sub
  '
  For Each r In Range("A2", Range("A65536").End(xlUp))
    If r.Row <> 行 Then
      If Cells(行, "A").Value & Cells(行, "K").Value = _
        Cells(r.Row, "A").Value & Cells(r.Row, "K").Value Then
        Beep
        MsgBox "重複"
        Target.ClearContents
        Target.Select
        Exit For
      End If
    End If
  Next

End Sub

0 hits

【28486】検索該当行の複数セル値の取得について BON8021 05/9/7(水) 19:56 質問
【28487】Re:検索該当行の複数セル値の取得について ponpon 05/9/7(水) 21:25 発言
【28525】Re:検索該当行の複数セル値の取得について BON8021 05/9/8(木) 16:19 質問
【28540】Re:検索該当行の複数セル値の取得について ponpon 05/9/8(木) 21:22 発言
【28611】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 10:29 質問
【28615】Re:検索該当行の複数セル値の取得について ponpon 05/9/10(土) 11:27 発言
【28619】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 12:10 質問
【28636】Re:検索該当行の複数セル値の取得について ponpon 05/9/10(土) 21:40 発言
【28498】Re:検索該当行の複数セル値の取得について kobasan 05/9/8(木) 7:52 回答
【28609】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 9:44 質問
【28612】Re:検索該当行の複数セル値の取得について kobasan 05/9/10(土) 10:30 回答
【28613】Re:検索該当行の複数セル値の取得について kobasan 05/9/10(土) 10:36 回答
【28616】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 11:31 質問
【28623】Re:検索該当行の複数セル値の取得について kobasan 05/9/10(土) 14:16 回答
【28627】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 15:15 質問
【28628】Re:検索該当行の複数セル値の取得について kobasan 05/9/10(土) 15:35 回答
【28630】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 16:21 お礼
【28614】Re:検索該当行の複数セル値の取得について kobasan 05/9/10(土) 10:40 回答
【28617】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 12:05 質問
【28622】Re:検索該当行の複数セル値の取得について kobasan 05/9/10(土) 14:02 回答
【28624】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 14:48 お礼
【28631】Re:検索該当行の複数セル値の取得について BON8021 05/9/10(土) 17:16 質問
【28632】Re:検索該当行の複数セル値の取得について kobasan 05/9/10(土) 19:35 回答

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