- ベストアンサー
エクセルVBAのコードの書き方を教えてください
- エクセルVBAのコードの書き方について教えてください。具体的には、オートフィルターを使用して特定の行のセルの値を他のシートにコピーする方法について教えてほしいです。
- エクセルVBAの初心者ですが、オートフィルターを使用して特定の行のセルの値を他のシートにコピーする方法を教えてください。
- エクセルVBAの初心者です。特定の行のセルの値を他のシートにコピーするためのコードの書き方を教えてください。具体的には、オートフィルターを使用して特定の行のセルの値を指定のセルにコピーする方法を知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
①シート[list]のA列に"●"がある行を探し ② ①で特定した行のE列セルの値を、シート[output]のB9セルにコピペする から ⑱ ①で特定した行のU列セルの値を、シート[output]のB57セルにコピペする までを行い シート[output]のB3:B59の中身をテキストファイル出力する ということでいいでしょうか? A列に"●"の埋まったセルが必ず1個行だけある。 かつ、出力するファイルの文字コードがANSI という条件でよければ後記コードはいかがでしょうか? なお、 出力先のファイル名をhogehoge.txt 出力先フォルダーは課題ブックと同じ場所としました。 Option Explicit Sub sample() Dim tgRow As Long Dim i As Long Dim wsL As Worksheet Dim wsO As Worksheet '前準備 Set wsL = ThisWorkbook.Sheets("List") Set wsO = ThisWorkbook.Sheets("OutPut") i = 0 '対象行を特定 Do i = i + 1 If wsL.Cells(i, 1).Value = "〇" Then tgRow = i Exit Do End If If 1 > 10000 Then Exit Do Loop '出力シートに出力 For i = 5 To 21 wsO.Cells((i - 5) * 3 + 9, 2).Value = wsL.Cells(tgRow, i).Value Next i 'テキストファイルに出力 Open ThisWorkbook.Path & "\hogehoge.txt" For Output As #1 For i = 3 To 57 Print #1, wsO.Cells(i, 2).Value Next i Close #1 End Sub
お礼
いただいたご回答で実行したところ、こちらの意向どおりの挙動となりました。迅速かつ丁寧なご回答ありがとうございます。深く感謝しております。
補足
ご回答ありがとうございます。本日か明日の夜にいただいたコードを試させていただきますため、今しばし確認のお時間をください。 下記すべてご認識のとおりです。 拙い日本語から正確に読み取っていただきましたこと御礼申し上げます。 >①シート[list]のA列に"●"がある行を探し >② ①で特定した行のE列セルの値を、シート[output]のB9セルにコピペする >から >⑱ ①で特定した行のU列セルの値を、シート[output]のB57セルにコピペする >までを行い >シート[output]のB3:B59の中身をテキストファイル出力する >ということでいいでしょうか?