[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じ日付を選択したデータの統合について』(tak)
_A__B___C_____D___
1 名前 日付 薬 2 a 2002/8/1 A 3 a 2004/10/2 A 4 a 2004/10/2 B 5 a 2004/10/2 C 6 b 2002/8/1 A 7 b 2002/8/1 C … このようなシートを同じ日付のものは以下のような形式に統合したいと考えております。 _A_____B____C_________D___ 1 名前 日付 薬 2 a 2002/8/1 A 3 a 2004/10/2 A&B&C 4 b 2002/8/1 A&C
データが膨大なので関数でうまく処理できればと考えておりますが良い方法はございますでしょうか。ご教授よろしくお願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
>>データが膨大なので関数でうまく処理できればと こんにちは VBA、配列で。。。でも軽く済むと思いますが。。。多分(*^^;*) まさか、100万件じゃないですよね。。。(#^.^#) マクロ世界ゑのいざない。。。でした・・・(^◇^)。。。m(_ _)m (隠居じーさん) 2020/05/22(金) 16:30
マクロは勉強中で自分ではうまく組むことが出来ないのですが、マクロを使った場合にはどのようにするのがよろしいでしょうか?
(tak) 2020/05/22(金) 16:36
こんにちはぁ〜 ^^ 色々良い方法は有るとは存じますが概ね、下記のような事でも、出来なくは無いかと。。。m(_ _)m Sheet1 が既存の情報シートで、選別したものをSheet2を初期化後書き出しています。保存名は現在固定です。zProgramIDで保存してからでないとエラー になります。適宜、変更してください。 要バックアップ必須です。。。^^;。。。では Option Explicit Sub OneInstanceMain() Const zProgramID As String = "IJ00015.xlsm" Dim zTb As Workbook Dim i As Long Dim y As Long Dim x As Long Dim zBase() As Variant Dim zD As Object Dim zVar As Variant Set zD = CreateObject("Scripting.Dictionary") Set zTb = Workbooks(zProgramID) With zTb.Worksheets("Sheet1") zBase = .Cells(1).CurrentRegion.Value End With For i = LBound(zBase, 1) + 1 To UBound(zBase, 1) zD(zBase(i, 1) & Chr(31) & zBase(i, 2)) = zD(zBase(i, 1) & Chr(31) & zBase(i, 2)) & zBase(i, 3) & Chr(30) Next With zTb.Worksheets("Sheet2") .UsedRange.Clear y = 2: x = 1 For Each zVar In zD .Cells(y, x).Resize(, 2) = Split(zVar, Chr(31)) .Cells(y, x + 2).Resize(, UBound(Split(zD(zVar), Chr(30))) + 1) = Split(zD(zVar), Chr(30)) y = y + 1 Next .Cells(1).Resize(, 2) = Array("名前", "日付") .Cells(1, 3).Resize(, .UsedRange.Columns.Count - 2) = "薬" End With Erase zBase Set zD = Nothing Set zTb = Nothing End Sub (隠居じーさん) 2020/05/22(金) 17:44
無事コード実行することが出来ました。自分で今後はこういうコードが組めるように勉強していきたいと思います。ありがとうございました!
(tak) 2020/05/23(土) 06:57
おはようございます。^^ すみません。。。 もう見ておられないかもですが。多分、ユニークなキー作成部分は問題はないと思うのですが ただ、書き戻した時点で、日付が文字列になっていませんでしょうか。。。出来れば、連想配列 使用時点で数値に明示的に変換しておくと良いかもしれません。← やってないのでまだ解りません^^; いまから、やってみます。 ← あわてている ^^;。。。m(_ _)m (隠居じーさん) 2020/05/23(土) 08:02
ま!ご必要でしたら変換お掛けいただくという事で ^^;。。。なんでしたら また、お申し付け下さいませ。お騒がせいたしました。何れにいたしましても、 ご考察の一助にでもなれば、幸甚です。でわでわ。。。( ̄▽ ̄;)。。m(_ _)m (隠居じーさん) 2020/05/23(土) 08:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.