前提・実現したいこと
エクセルでリストを作成しており特定の列にフラグを立てています。
フラグが1の行の性と都道府県だけ別のシート貼りたいのです。
いくつか調べてコードを貼り付け
指定した列だけ貼り付けるところまではできたのですが
フラグが1の行だけできないです。
特定の行だけ別シートに貼り付けのにはどうすればいいのでしょうか。
ご教授のほどよろしくお願い申し上げます。
該当のソースコード
Option Explicit
Sub ColCopy()
Dim xlBook As Workbook
Dim xlSheetOrg As Worksheet
Dim xlSheetSel As Worksheet
Dim xlSheetDst As Worksheet
Dim strDstSheetName As String
Dim rngLastRow As Range
Dim vntIndex As Variant
Dim rngIndexs As Range
Dim rngHeader As Range
Dim lngColSrc As Long
Dim lngColDst As Long
Dim rngTargetCol As Range
Set xlBook = ThisWorkbook With xlBook Set xlSheetSel = .Worksheets("列選択") Set xlSheetOrg = .Worksheets("全体リスト") End With ' コピー先シート名取得 strDstSheetName = xlSheetSel.Range("A3").Value ' コピー先シートを初期化(なければ生成) On Error GoTo ERR_DST_SHEET Set xlSheetDst = xlBook.Worksheets(strDstSheetName) With xlSheetDst .Cells.Clear End With On Error GoTo 0 ' 項目名を読み取り With xlSheetSel Set rngLastRow = .Cells(.Rows.Count, 1).End(xlUp) Set rngIndexs = .Range(.Cells(5, 1), rngLastRow) Set rngLastRow = Nothing End With ' 見出し行の取り込み Set rngHeader = xlSheetOrg.Rows(1) ' 該当列のコピー Application.ScreenUpdating = False With xlSheetDst lngColDst = 0 For Each vntIndex In rngIndexs lngColDst = lngColDst + 1 Set rngTargetCol = rngHeader.Find(CStr(vntIndex)) lngColSrc = rngTargetCol.Column rngTargetCol.EntireColumn.Copy .Cells(1, lngColDst) Set rngTargetCol = Nothing Next vntIndex Set rngIndexs = Nothing End With Application.ScreenUpdating = True GoTo PROC_END
ERR_DST_SHEET:
Set xlSheetDst = Sheets.Add(, Sheets("全体リスト"))
xlSheetDst.Name = strDstSheetName
Resume Next
PROC_END:
Set rngHeader = Nothing
Set xlSheetDst = Nothing
Set xlSheetOrg = Nothing
Set xlSheetSel = Nothing
Set xlBook = Nothing
End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。