Excel VBA質問箱 IV

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

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


9861 / 76734 ←次へ | 前へ→

【72430】Re:再:2つのシートのデータを照合し列が一致したら転記したい
発言  kanabun  - 12/8/9(木) 14:26 -

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

> >抽出リストは 別の専用シートに置くという案

やはり最初に提案した 【フィルタオプション】案で
再度書いてみました。
前のフィルタオプション は抽出したものを別の範囲に一気に
書き出すオプションでしたが、抽出先が結合セルであるため、
こんどは抽出元シート上で抽出して、抽出行を一行づつ転記
するというものです。

Sub マッチング3()
  Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet
  Dim Rng1 As Range
  Dim Rng2 As Range
  Dim Rng3 As Range
  Dim c As Range, c1 As Range, c2 As Range
  
  Set WS1 = Worksheets("Sheet1")
  Set WS2 = Worksheets("抽出")
  Set WS3 = Worksheets("抽出リスト")
  
  With WS1 '抽出元表検索範囲は A列 [A1]は列見出し
    Set Rng1 = .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
  End With
  With WS2 '転記先セル(2か所)
    Set c1 = .Range("C5")
    Set c2 = .Range("O5")
  End With
  With WS3 '抽出リスト範囲
    Set Rng3 = .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
    Rng3.Item(1).Formula = "=" & Rng1.Item(1).Address(External:=True)
  End With
  
  'フィルタオプション実行 (抽出リスト範囲 Rng3)
  Rng1.AdvancedFilter xlFilterInPlace, Rng3
  
  'Rng1の可視セルだけ転記処理
  For Each c In Intersect(Rng1, Rng1.Offset(1)) _
                .SpecialCells(xlVisible)
    c1.Value = c.Value
    c2.Resize(, 21).Value = c.Offset(, 1).Resize(, 21).Value
  
    Set c1 = c1.Offset(1) '次の転記先セル
    Set c2 = c2.Offset(1)
  Next
  Rng1.Worksheet.ShowAllData
End Sub


>    Set c1 = c1.Offset(1) '次の転記先セル

のところは、現在のセルから [↓]キーを一回押した操作に相当します。
たとえば、
「抽出リスト」シートの[A1]にカーソルをおいて [↓]を一度
押してください。
どこに移動しましたか?
[A2]セルですよね。

今度は
「抽出」シートの[C5:C6]結合セルにカーソルをおいて[↓]キーを
一回押してみてください。
どこへ移動しましたか?
[C5:C6]は結合セルだから [↓]により [C7]セル(正確には [C7:C8]
セル)に移動します。
これが
>   Set c1 = c1.Offset(1)
の意味です。

8 hits

【72393】2つのシートのデータを照合し列が一致したら転記したい kiki 12/8/1(水) 23:50 質問
【72394】Re:2つのシートのデータを照合し列が一致... UO3 12/8/2(木) 10:12 発言
【72396】Re:2つのシートのデータを照合し列が一致... kiki 12/8/2(木) 22:12 発言
【72395】Re:2つのシートのデータを照合し列が一致... ドカ 12/8/2(木) 14:28 回答
【72397】Re:2つのシートのデータを照合し列が一致... kiki 12/8/2(木) 22:17 お礼
【72400】再:2つのシートのデータを照合し列が一致... kiki 12/8/6(月) 22:07 質問
【72401】Re:再:2つのシートのデータを照合し列が一... UO3 12/8/7(火) 6:23 発言
【72407】Re:再:2つのシートのデータを照合し列が一... kiki 12/8/7(火) 20:48 質問
【72420】Re:再:2つのシートのデータを照合し列が一... UO3 12/8/8(水) 21:02 発言
【72427】Re:再:2つのシートのデータを照合し列が一... kiki 12/8/8(水) 22:21 お礼
【72402】Re:再:2つのシートのデータを照合し列が一... UO3 12/8/7(火) 6:36 発言
【72403】Re:再:2つのシートのデータを照合し列が一... UO3 12/8/7(火) 6:39 発言
【72404】Re:再:2つのシートのデータを照合し列が一... ぶらっと 12/8/7(火) 10:09 回答
【72409】Re:再:2つのシートのデータを照合し列が一... kiki 12/8/7(火) 20:54 お礼
【72405】Re:再:2つのシートのデータを照合し列が一... kanabun 12/8/7(火) 14:25 発言
【72411】Re:再:2つのシートのデータを照合し列が一... kiki 12/8/7(火) 22:25 お礼
【72410】再:2つのシートのデータを照合し列が一致... kiki 12/8/7(火) 21:11 質問
【72412】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/8(水) 12:51 発言
【72413】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/8(水) 13:34 発言
【72414】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/8(水) 14:34 発言
【72415】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/8(水) 14:46 発言
【72416】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/8(水) 17:07 発言
【72418】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/8(水) 17:17 発言
【72419】Re:再:2つのシートのデータを照合し列が... kiki 12/8/8(水) 20:41 質問
【72422】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/8(水) 21:10 回答
【72426】Re:再:2つのシートのデータを照合し列が... kiki 12/8/8(水) 22:13 お礼
【72430】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/9(木) 14:26 発言
【72437】Re:再:2つのシートのデータを照合し列が... kiki 12/8/9(木) 23:21 お礼
【72439】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/10(金) 9:18 発言
【72421】Re:再:2つのシートのデータを照合し列が... kiki 12/8/8(水) 21:06 質問
【72431】Re:再:2つのシートのデータを照合し列が... kanabun 12/8/9(木) 14:42 発言
【72438】Re:再:2つのシートのデータを照合し列が... kiki 12/8/9(木) 23:22 お礼

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