|
いつも皆さんには投稿以外にも過去ログなどでも
助けていただいてます。ありがとうございます♪
初心者なので、こちらのサイトは欠かせないものとなっています☆
今回教えていただきたいことは・・・
1つのシートに2つの基本的な構造が似ている横並びの2つの表があります。
ただしその表の扱うモノが少し異なります。
例えば表1は「食品」で表2は「雑貨」とします。
表には備考欄があり、そこの最初には必要に応じて
指定Keywordを入力することになっています。
そのKeywordを元にリストの該当行を別のブックへコピーする処理を
作成したいのです。
ところが、表1と表2ではいくつかあるKeywordの数と内容が少し異なります。
例えば表1のKeywordが「不要」「必要」「賞味期限」と3つあった場合、
表2のKeywordは「不要」「必要」のみの2つであったとします。
まず表1のみに対して次のようなコードを書きました。
For i = 7 To n '7行目からCells.End(xlUp).Rowで得た最終行まで
If (Left(Cells(i, 12).Value, 2) = "不要" Or _
Left(Cells(i, 12).Value, 2) = "必要" Or _
Left(Cells(i, 12).Value, 4) = "賞味期限" Then
For z = 2 To 12 'B列〜L列までのセル
Cells(i, z).Copy _
Destination:=Workbooks("wb").Sheets("sheet1").Cells(x, z)
Next z
End If
Next i
(実際のコードを上記の例題用に変えただけで、上記は検証してないのですが、
実際のコードはきちんと動作します。)
1つのプロシージャー内で表1と表2からの抽出をいっぺんに行いたいたく、
しかも同じようなコードを何回も書きたくないので、
上記コードを別のSubでまとめ、表2にも対応できるようにし、
最近学習したCallステートメントで表1用、表2用に変数に値を指定し、
2度呼び出せるかな?と試行錯誤中ですが、
If()Thenをどうしたらいいのか一向に分からず、投稿しました。
すみません。どなたか助けてください。
(説明下手たので、意味が???でしたらご指摘ください!)
よろしくお願いします。
|
|