- 締切済み
可視セルだけを選択対象にしたい
I列の6行目~最終行までをキーにして、別ファイルにセルの値をコピペするコードを作りました Sub test() Dim wb(1 To 2) As Workbook Dim II As Long, pt As String With Application Set wb(1) = .Workbooks("A.xls") Set wb(2) = .Workbooks("B.xls") pt = wb(2).Path If Right(pt, 1) <> .PathSeparator Then pt = pt &.PathSeparator End With II = 6 Do With wb(1).Worksheets("Sheet1").Cells(II, "I") If .Value = "" Then Exit Do wb(2).Worksheets("Sheet1").Range("A1").Value = .Value wb(2).Worksheets("Sheet1").Range("A2").Value =.Offset(0, 1).Value wb(2).SaveAs pt & .Value & ".xls" End With II = II + 1 Loop wb(2).Close Erase wb End Sub 始まりはI列の6行目からなのですが、フィルタをかけるため行番号が飛び飛びになり、上記コードでは思った答えが出ません フィルタをかけた後の可視セルの状態で上記コードを動かしたいのですが、 うまく修正ができません・・・ どなたかご教授いただけますでしょうか よろしくお願い致します
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- merlionXX
- ベストアンサー率48% (1930/4007)
With wb(1).Worksheets("Sheet1").Cells(II, "I") If .EntireRow.Hidden = False Then '追加(可視行だったら) If .Value = "" Then Exit Do ためしてませんけど・・。