ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【VBA】Excel シート内の幅と高さを別のシートにコピーする方法
VBAでシートをコピーする際に、
セルの高さや幅もコピーすることができます。
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
Excelでフィルタリング後の値を別シートに
出力することができます。
フィルターの設定方法
例)
.Range("A1").AutoFilter Field:=3, Criteria1:="りんご"
Field:= フィルタリングするカラム位置を指定します。
Criteria1:= フィルタリングする文字列を指定します。
フィルタリング後の値の取得方法
以下のように行うことで、フィルタリング後の文字列を取得できます。
With Range("A1").CurrentRegion.Offset(1, 0)
For Each R In .Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Rows
' Debug.Print R.Address
Debug.Print R.Cells(1, 1)
Debug.Print R.Cells(1, 2)
Next R
End With
フィルタリング後の値を別シートに表示する例
「別シート」の5行目、B,C,D列に出力する場合
Const OutPutSheetName As String = "別シート"
Dim outrow As Integer
outrow = 5
With Range("A1").CurrentRegion.Offset(1, 0)
For Each R In .Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Rows
' Debug.Print R.Address
Worksheets(OutPutSheetName).Cells(outrow, 2).Value = R.Cells(1, 5)
Worksheets(OutPutSheetName).Cells(outrow, 3).Value = R.Cells(1, 6)
Worksheets(OutPutSheetName).Cells(outrow, 4).Value = R.Cells(1, 7)
Debug.Print R.Cells(1, 5)
Debug.Print R.Cells(1, 6)
Debug.Print R.Cells(1, 7)
outrow = outrow + 1
Next R
End With
最後までご覧いただきありがとうございます。
つぎはこちら
【VBA】Excel カラム(列番号)をアルファベットから番号(数字)に変換する方法(1行でOK)
カラムをアルファベットから数字に変換する方法をお伝えします。
コメント