• ベストアンサー

データ処理の際のデータの抜粋方法

VB(excel 2003です。)で以下の動作をしたいと思っております。 1,A列からO列までの4行目、34行目、64行目、94行目・・・以下1444行目まで30行毎に抜粋 2,1行目から3行目までは元データのまま、その後は抜粋したデータを記述した新たなファイルを作成 3,そのファイルを「元のファイル名_ソート済」と名前を付けデスクトップに保存。 1-3をいっぺんに行うマクロを自力で作成してみましたが、エラーが発生し、困っています。 お忙しい中申し訳ございませんが、助力をお待ちしております。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

#1です。 想像していた物と違いますね。 B列の値をH列に代入するのですか? こんな感じかと思ったんですが、、、 Sub Test() Dim r As Range, wb As Workbook, i As Long With ThisWorkbook.ActiveSheet  Set r = .Range("A1:O3")    For i = 4 To 1444 Step 30      Set r = Union(r, .Range("A" & i).Resize(1, 15))    Next i  Set wb = Workbooks.Add(xlWBATWorksheet)  r.Copy wb.Worksheets(1).Range("A1")  wb.SaveAs Filename:=CreateObject("WScript.Shell").SpecialFolders("Desktop") & _            "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & _            "_ソート済.xls", FileFormat:=xlWorkbookNormal End With End Sub

kulala-ura
質問者

お礼

まさにこれがやりたかったことです! やってみて感動しました。 本当にありがとうございます。 迅速な対応、感謝します。 お忙しい中、ご協力いただき、ありがとうございました。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ExcelのVBAですね? 自力で作成されたマクロを掲示してみては? 悪い所がわかるかも。

kulala-ura
質問者

補足

早速の対応ありがとうございました。 Sub Selectin_movehijikan() Dim i As Integer Dim j As Integer j = 4 For i = 4 To 1444 Step 30 j = j + 1 Cells(j, 8) = Cells(i, 2) Next End Sub で、30行毎の変換は可能なのですが、 うまくファイルの保存ができません。

関連するQ&A