[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『至急、関数かマクロ教えて下さい!』(みい)
こんにちは、エクセル初心者です。
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.