• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAのコードの書き方を教えてください)

エクセルVBAのコードの書き方を教えてください

このQ&Aのポイント
  • エクセルVBAのコードの書き方について教えてください。具体的には、オートフィルターを使用して特定の行のセルの値を他のシートにコピーする方法について教えてほしいです。
  • エクセルVBAの初心者ですが、オートフィルターを使用して特定の行のセルの値を他のシートにコピーする方法を教えてください。
  • エクセルVBAの初心者です。特定の行のセルの値を他のシートにコピーするためのコードの書き方を教えてください。具体的には、オートフィルターを使用して特定の行のセルの値を指定のセルにコピーする方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.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

boy5247811
質問者

お礼

いただいたご回答で実行したところ、こちらの意向どおりの挙動となりました。迅速かつ丁寧なご回答ありがとうございます。深く感謝しております。

boy5247811
質問者

補足

ご回答ありがとうございます。本日か明日の夜にいただいたコードを試させていただきますため、今しばし確認のお時間をください。 下記すべてご認識のとおりです。 拙い日本語から正確に読み取っていただきましたこと御礼申し上げます。 >①シート[list]のA列に"●"がある行を探し >② ①で特定した行のE列セルの値を、シート[output]のB9セルにコピペする >から >⑱ ①で特定した行のU列セルの値を、シート[output]のB57セルにコピペする >までを行い >シート[output]のB3:B59の中身をテキストファイル出力する >ということでいいでしょうか?

関連するQ&A