vbaを用いたCSV出力について質問です。 下記コードの最終行、最終列を取得する部分が下記のサイトだとA1を起点としているのですが、これをC16を起点としてC16より右とC16より下をcsv出力したい場合、どのように変更したら良いでしょうか。 サイトの通り、3と16に変えてみたのですが、上手く行きません… Sub csvFile_Example() Dim csvFile As String Dim i As Integer, j As Integer, FileNumber As Integer, LR As Integer, LC As Integer Dim ws As Worksheet 'CSVファイルへ出力するシートを指定 Set ws = ThisWorkbook.Worksheets(1) '出力するファイルのパスとファイル名を指定 csvFile = ActiveWorkbook.Path & "\sample.csv" 'ファイルナンバーを割り当て FileNumber = FreeFile '最終行・最終列を取得 LR = ws.Cells(Rows.Count, 1).End(xlUp).Row LC = ws.Cells(1,Columns.Count).End(xlToLeft).Column 'ファイルへの書き出し Open csvFile For Output As #FileNumber '1列全て書き出したら、次の行へ For i = 1 To LR For j = 1 To LC If j <> LC Then Print #FileNumber, ws.Cells(i, j).Value & ","; '最終列でなければセルの値とカンマ Else Print #FileNumber, ws.Cells(i, j).Value & vbCr; '最終列ならば、セルの値と改行コード End If Next j Next i 'ファイルを閉じる Close #FileNumber End Sub サイト https://youseful.jp/microsoft/excel/vba-csv/
Visual Basic