- ベストアンサー
プログラムの作り方
まったくの素人です。 1列にあるデータをキーにして情報の抽出をしたいのですが うまくコードが書けません。 何卒、助勢頂ければ幸いです。 よろしくお願いいたします。 具体的な内容) B列 C列 x 11 ・・適当な不要なデータが数行 y (2A) ・・適当な不要なデータが数行 x 12 ・・適当な不要なデータが数行 y (44) ・・適当な不要なデータが数行 x 39 ・・適当な不要なデータが数行 y (7) ・・適当な不要なデータが数行 から、xのデータとyのデータの表を作りたい。 ただし、yのデータ()内はB列のyの次の行。 できれば、抽出したデータはシート2に並べたい。 Sub macro() Dim a As String Dim b As Variant Dim c As range Dim i As Integer a = x b = "y" i = 1 Worksheets("sheet1").range("B1").Activate For i = 1 To 5000 With ActiveCell If .Value = a Then ActiveCell.Offset(0, 1).Copy Worksheets("sheet2").Select Cells(i, 1).Select ActiveSheet.Paste Sheets("sheet1").Select Else ActiveCell.Offset(1, 0).Activate End If If .Value = b Then ActiveCell.Offset(1, 0).Copy Worksheets("sheet2").Select Cells(i, 2).Select ActiveSheet.Paste Sheets("sheet1").Select Else ActiveCell.Offset(1, 0).Activate End If End With Next End Sub
- みんなの回答 (7)
- 専門家の回答
お礼
ご回答ありがとうございます。 動作確認しました。 完璧でした。。 ありがとうございます。 小生のプログラムとは異なりすっきりしており 処理時間が断然早くなりました。びっくりしました。 本当にありがとうございます。 プログラムを見ると、なるほどこれでいいんだなと 動作は分かる(つもり?)のですが、 自分で作る時は全く思いつきませんでした。 もっと、色々見てさらに勉強していきます。