[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『至急、関数かマクロ教えて下さい!』(みい)
こんにちは、エクセル初心者です。
sheet1に入っている大量のデータを、
新しくシートを日付別に作成してそのシートにふり分けていきたいです。
元データの内容はA列からI列まで1行ずつデータが入っており、
H列に日付(2020/3/5等)が入っております。
これをH列の日付ごとにシートを作成したいです。
手順として、
新しくシートを作成する
新しいシート名を日付にする(元データの日付の書き方は変更可能)
元データの該当する日付のものをシートに割り振る
今まで手作業でやっておりましたが
効率の良いやり方を探してます。
関数でもマクロでもわかる方教えて貰えると助かります。
説明下手ですいません。
よろしくお願い致します。
< 使用 Excel:Office365、使用 OS:Windows10 >
に回答ついてますよ
現状で手作業でできてたるのに、なんで至急なんでしょうね? 多くの質問者さんの中で、自分が一番急いでいるとなぜ思うのか不思議です (´・ω・`) 2020/05/14(木) 12:50
>H列に日付(2020/3/5等)が入っております。
日付は昇順になっているんですか?
(半平太) 2020/05/14(木) 13:37
Dim c As Range
For Each c In Sheets("Sheet1").Range("H:H").SpecialCells(2)
If IsDate(c.Value) Then
Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = Format(c.Value, "yyyy年mm月dd日")
ActiveSheet.Range("A1:I1").Value = Sheets("Sheet1").Range("A" & c.Row & ":I" & c.Row).Value
End If
Next c
End Sub
(mm) 2020/05/14(木) 13:41
Sheet1の1行目にタイトルが無い、と言う前提です(全部データ)
Sub destributeByDates()
Dim cel As Range
Dim preName As String
Dim tgtName As String
Dim tgtCount As Long
Application.ScreenUpdating = False
Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
With ActiveSheet '作業用(後で削除
.Name = "作業"
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("H2"), SortOn:=xlSortOnValues, Order:=xlAscending
With .Sort
.SetRange Range("A1").CurrentRegion
.Header = xlNo 'xlYes
.Orientation = xlTopToBottom
.Apply
End With
End With
preName = ""
For Each cel In Sheets("作業").Range("H:H")
If cel = "" Then
Application.DisplayAlerts = False
Sheets("作業").Delete
Application.DisplayAlerts = True
Exit Sub
Else
tgtName = Format(cel.Value, "yyyymmdd")
If preName <> tgtName Then
preName = tgtName
On Error Resume Next
Worksheets(tgtName).Select
If Err.Number <> 0 Then
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = tgtName
End If
On Error GoTo 0
With Worksheets(tgtName)
.Cells.ClearContents
tgtCount = Application.CountIf(Sheets("作業").Columns("H"), CDbl(cel.Value))
cel.EntireRow.Cells(1, 1).Resize(tgtCount, 9).Copy .Range("A1")
End With
End If
End If
Next cel
Application.ScreenUpdating = False
End Sub
(半平太) 2020/05/14(木) 15:38
ありがとうございます!
すごいですね。すごく参考になりました!
(みい) 2020/05/14(木) 17:25
こといらはどうなりました?
[[20200514120431]] 『【至急】元データをシートに振り分ける関数orマク』(みい)
(通りすがり) 2020/05/14(木) 17:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.