やりたいこと
- Google Apps ScriptかExcel VBAを使用してD7:D1000の項目(30個くらい)で分類したデータをシートに分割したい
- できればスプレッドシートで実現したいがExcelでもかまわない
- 分割したシートの名前はその項目名にしたい
環境
- mac OS 10.14.4
- Excel
- Googleスプレッドシート
やったこと
https://teratail.com/questions/186623
これがまさにやりたいことと一緒です。が、=filter
を手動でやると途方も無いのでできればGASかVBAでやりたいです。
https://eijiman.com/excelvba-sheet-split/
これもやりたいことをVBAで実現しています。しかし、A列の3行目から65535行目までで項目を選んでいるため、自分のデータではうまくいきません。
Private Sub CommandButton1_Click() Call SheetSplit End Sub Sub SheetSplit() Dim i As Integer Application.ScreenUpdating = False With Worksheets(1) ' A列の3行目から65535行目まで処理 For i = 3 To .Range("A65535").End(xlUp).Row Call NewSheetCreate(i, .Cells(i, 1).Value) Next End With Application.ScreenUpdating = True End Sub Sub NewSheetCreate(lineNum As Integer, NewSheetName As String) Dim NewSheet As Worksheet Dim lastLine As Integer On Error Resume Next Set NewSheet = Worksheets(NewSheetName) ' シート作成時、1行目に項目名を入力 If NewSheet Is Nothing Then Worksheets.Add after:=Worksheets(Worksheets.Count) Worksheets(Worksheets.Count).Name = NewSheetName Worksheets(1).Rows(2).Copy Worksheets(NewSheetName).Rows(1).Insert Shift:=xlDown End If lastLine = Worksheets(NewSheetName).Range("A65535").End(xlUp).Row + 1 Worksheets(1).Rows(lineNum).Copy Worksheets(NewSheetName).Rows(lastLine).Insert Shift:=xlDown On Error GoTo 0 End Sub
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/11 06:56