[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表を日付順に並べ替えたい』(syunn)
お世話になります
次のような表が横に並んでいます A B C D E F G D H I J… 1| 表題 | | 表題 | 2| サブ表題 | | サブ表題 | 3| 日付 | | 日付 | 4| データ | | データ | 中略 20 データ
5列ごとに20行の表が横にならんでおり(21行以下はデータなし) 各表の2列目の3行目(最初の表だとB3)に日付があります この表を日付順に並び替えることは可能でしょうか? 日付の書式はmm月dd日(aaa)で、表は20〜30前後並びます よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
標準機能でも数式を駆使すれば出来そうですが、マクロの例です。 同一シートの30行目に並べ替えた結果をコピーしています。
Sub Sample() Dim dList As Object Set dList = CreateObject("System.Collections.SortedList")
Dim c As Long c = 2 Do While Cells(3, c).Value <> "" dList.Add Cells(3, c).Value + CDbl(c)/1000 , c - 1 c = c + 5 Loop
Dim i As Long For i = 0 To dList.Count - 1 Cells(1, dList.GetByIndex(i)).Resize(20, 5).Copy Cells(30, i * 5 + 1).Resize(20, 5) Next End Sub
(Mook) 2015/04/07(火) 21:51
教えて頂いたものを試してみましたが、何故か動きません。 マクロは有効になっています。 説明が不足していたかもしれませんが 日付には同じ日付が含まれます(4月6日が何個かあったりします) 日付が入っているのはB3,G3,L3…です(提示した表が少々ずれてました) マクロは標準モジュール、シート両方で試したみました (どっちが正しいのか曖昧なので両方試してみました) 再度、ご教示願えますでしょうか。 マナさん、表の中には多数の結合セルがありますので ソートは使えないかもしれません。 よろしくお願いします。 (syunn) 2015/04/08(水) 06:08
条件式が違っていました。 もう一度確認してもらえますか。
同じ日付対策も入れてみました。
(Mook) 2015/04/08(水) 09:05
なぜかマクロが入っていません。 お忙しいところ大変申し訳ありません… また一から入力されるなら、二度手間で 本当に申し訳ありませんが、よろしくお願いします。 (syunn) 2015/04/08(水) 18:01
最初のコメントのコードを修正していますので、提示したコードは一つになっています。 そういう意味では無くて何かあったでしょうか?
(Mook) 2015/04/08(水) 18:02
元のコードを修正されていたのですね。 勘違いして申し訳ありませんでした。 コード張付けてみましたが Do While dList.Add Cells(3, c).Value <> "" の部分が赤字になり、構文エラーがでました お手数をおかけしますが よろしくお願いします。 (syunn) 2015/04/08(水) 19:44
お邪魔します。 修正した時に、余分なところまでコピペしたようです。
Do While Cells(3, c).Value <> ""
↑で試してみるとよいです。
>同じ日付対策 どうするのだろうと考えていました。勉強になりました。
(マナ) 2015/04/08(水) 20:43
あっ、すみません^^;;。 フォローありがとうございました。
(Mook) 2015/04/08(水) 20:53
綺麗に並びました。 非常に高度な内容で 基礎の基礎しか分からない私には 解読不能ですが、 何か、構想を立ててサラサラと書けるように なったら気持ちいいのだろうな…と思います。 どこから勉強したらよいのかも分からないのですが 本など読み漁ってみようかと思います。 ありがとうございました。 (syunn) 2015/04/09(木) 05:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.