前提・実現したいこと
リスト表シート Aパターン列(セルA7以降)の"○"印になっているコード名(セルD7以降)を、リストAパターンシートのセルH16以降へ転記させたいです。
<条件>
リストAパターンシートは、セルH16〜H36とH54〜H74の2つに転記先があります。
条件式で、リスト表シート"○"印が21個以下ならセルH16〜H36へ転記させ、
リスト表シート"○"印が22個以上ならセルH16〜H36とH54〜H74へ転記させたいです。
該当ソースコード
VBA
1Sub 転記() 2Dim list As Worksheet 'リスト表 宣言 3Dim listA As Worksheet 'リストAパターン 宣言 4Dim listB As Worksheet 'リストBパターン 宣言 5Dim code As Integer 'コード 宣言 6Dim name As Integer '名称 宣言 7Dim A As Range 'Aパターン 宣言 8Dim B As Range 'Bパターン 宣言 9Dim kazuA As Integer 'リスト表○印の行数 10Dim Alline As Integer 'リスト表のA列最終行 11Dim Blline As Integer 'リスト表のB列最終行 12 13Set list = Worksheets("リスト表") 14Set listA = Worksheets("リストAパターン") 15Set listB = Worksheets("リストAパターン") 16 17list.Range("A6").AutoFilter field:=1, Criteria1:="○" 18'オートフィルタでA列を○でソート 19kazuA = list.Range(Range("A7"), Cells(Rows.Count, 1).End(xlUp)) _ 20.SpecialCells(xlCellTypeVisible).Count 21'○印の行数をカウント 22 23If kazuA <= 21 Then 24'○印の数が21以下なら以下処理 25listA.Range("H17:H36").Value = list.Range("D7:D27").Value 26'listの○印のコードをlistAのH17からH36へ転記 27Else 28'22以上なら以下処理 29listA.Range("H17:H36").Value = list.Range("D7:D27").Value 30'listの○印のコードをlistAのH17からH36へ転記 31listA.Range("H54:H74").Value = list.Range("D54:D74").Value 32'listの○印のコードをlistAのH54からH74へ転記 33 34End If 35 36list.ShowAllData 37'オートフィルタ解除 38 39End Sub
試したこと
リスト表シートからオートフィルターで"○"印の数はカウント出来たのですが、リストAパターンへ転記する際に
<前提・実現したい事>で記載してある条件式が機能せず、転記された為、
どのようなコードを書けば、達成できるのか教えていただけないでしょうか?
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/20 12:04
2020/03/21 14:24
2020/03/21 16:26
2020/03/22 06:44
2020/03/22 06:57
2020/03/22 07:31
2020/03/22 07:52