No.4ベストアンサー
- 回答日時:
複数列に折り返して並べると解釈して下記のマクロを書いて見ました。
参考にして下さい。シート1の任意行数、任意列数のデータをシート2に必要行数で折り返してソートします。
前提として、シート1、シート2のシート名はSheet1、Sheet2で、シート2はクリアして、そこに結果を書き込みます。
シート1のデータを全てソート対象にします。不要なデータは消去しておいて下さい。見出しもない前提です。
(1)シートのメニューから、ツール→マクロ→Visual Basic Editor でVBE画面に移ります。
(2)VBEメニューで、挿入→標準モジュールで標準モジュールを挿入します。
(3)そのコードウインドウ(現れた広い場所です)に下記コードをコピーし貼り付けます。
(4)シートに戻り、ツール→マクロ→マクロでSortEXを実行します。
Public Sub SortEX()
Dim ws1, ws2 As Worksheet 'ワークシート
Dim rg As Range 'セル
Dim dtCount As Long 'データカウンタ
Dim ColumnsCount1 As Integer '列数(シート1)
Dim RowsCount2 As Long '行数(シート2)
Dim MaxRowCount As Long 'シート2で必要な最大行数
Dim ColCot As Integer '列カウンタ
Dim LastRow As Long 'シート2の最終行
Set ws1 = Worksheets("Sheet1")
ColumnsCount1 = ws1.UsedRange.Columns.Count
Set ws2 = Worksheets("Sheet2")
'シート2にデータを転記
ws2.Cells.ClearContents 'シート2をクリア
For Each rg In ws1.UsedRange '入力があればシート2にコピーする
If rg <> "" Then
dtCount = dtCount + 1: ws2.Cells(dtCount, 1) = rg
End If
Next
'シート2をソートする
ws2.Activate: Range("A1").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess
'シート1の列数で適切に配置する
MaxRowCount = Int((ws2.UsedRange.Rows.Count - 1) / ColumnsCount1) + 1
LastRow = ws2.UsedRange.Rows.Count
While MaxRowCount < LastRow
ColCot = ColCot + 1
Range(Cells(MaxRowCount + 1, ColCot), Cells(LastRow, ColCot)).Cut
Range("A1").Offset(0, ColCot).Select: ActiveSheet.Paste
LastRow = ws2.UsedRange.Rows.Count
Wend
Range("A1").Select
End Sub
この回答への補足
質問の仕方が悪くて済ません。
A列 B C はシートのABC各列を表します。
1行 2 3 はシートの123各行を表します。
この例では3行3列の各項目に数字がばらばらに入っているのを
SORTしたいと、いう事になります。
A列B列C列毎に並べるのは出来ますが、A、B、C列全てを一塊として
並べ替えられないでしょうか。
nishi6さんの回答で出来るのかどうかは、私のEXCELの力では
無理のようですが、(すみません、難しくて解らないのです。)
これで出来るとしたら勉強してこの回答をコピーして、
やってみようと思います。
No.3
- 回答日時:
こんばんは!
私もHaizyさんの書かれている
>(小さい)A1~A3→B1~B3→C1~C3(大きい)
と思えますが、縦横配列の並べ替えは無理だとおもいます。
1案としては
データ範囲以外のセルに
=SMALL($A$1:$C$3,(COLUMNS($A$1:A1)-1)*3+ROWS($A$1:A1))
と入力してデータ域と同列同行数まで複写すれば並び変わったものが表示されます。
それを複写して データ域に 値の貼り付けすればOKです。
(注:式中の*3はデータが3列の時です)
この回答への補足
質問の仕方が悪くて済ません。
A列 B C はシートのABC各列を表します。
1行 2 3 はシートの123各行を表します。
この例では3行3列の各項目に数字がばらばらに入っているのを
SORTしたいと、いう事になります。
A列B列C列毎に並べるのは出来ますが、A、B、C列全てを一塊として
並べ替えられないでしょうか。
nishi6さんの回答で出来るのかどうかは、私のEXCELの力では
無理のようですが、(すみません、難しくて解らないのです。)
これで出来るとしたら勉強してこの回答をコピーして、
やってみようと思います。
No.2
- 回答日時:
A B C ==>A B C
2 4 5 ==>1 2 3
1 3 3 ==>1 2 4
2 1 2 ==>2 3 5
かな?数字の展開法則ががさっぱり読めません。
予想としては、
(小さい)A1~A3→B1~B3→C1~C3(大きい)
という順番に並べたいと言う感じですか。ちがうかなぁ???
補足願います。
この回答への補足
質問の仕方が悪くて済ません。
A列 B C はシートのABC各列を表します。
1行 2 3 はシートの123各行を表します。
この例では3行3列の各項目に数字がばらばらに入っているのを
SORTしたいと、いう事になります。
A列B列C列毎に並べるのは出来ますが、A、B、C列全てを一塊として
並べ替えられないでしょうか。
nishi6さんの回答で出来るのかどうかは、私のEXCELの力では
無理のようですが、(すみません、難しくて解らないのです。)
これで出来るとしたら勉強してこの回答をコピーして、
やってみようと思います。
回答いただきまして有難うございます。
質問の仕方が悪くて済ません。
A列 B C はシートのABC各列を表します。
1行 2 3 はシートの123各行を表します。
この例では3行3列の各項目に数字がばらばらに入っているのを
SORTしたいと、いう事になります。
A列B列C列毎に並べるのは出来ますが、A、B、C列全てを一塊として
並べ替えられないでしょうか。
Haizy さんのこの様にしたいのです。
2 4 5 ==>1 2 3
1 3 3 ==>1 2 4
2 1 2 ==>2 3 5
今回、良回答に出来なくてすみません。
有難うございました。
No.1
- 回答日時:
> A列 B C A B >
>C
>1行 2 4 5 1 1 2 3
>
>2 1 3 3 ===> 2 1 2 4
>
>3 2 1 2 3 2 3 5
が何を表しているのかわかりにくいので
もう少しわかりやすく書いていただければありがたいです。
この回答への補足
質問の仕方が悪くて済ません。
A列 B C はシートのABC各列を表します。
1行 2 3 はシートの123各行を表します。
この例では3行3列の各項目に数字がばらばらに入っているのを
SORTしたいと、いう事になります。
A列B列C列毎に並べるのは出来ますが、A、B、C列全てを一塊として
並べ替えられないでしょうか。
nishi6さんの回答で出来るのかどうかは、私のEXCELの力では
無理のようですが、(すみません、難しくて解らないのです。)
これで出来るとしたら勉強してこの回答をコピーして、
やってみようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ゼロを表示
-
Excelの計算が合いません。 諸...
-
今まで文字化けなく開けていたc...
-
Excelの警告について
-
ExcelでASCを使って全角を半角...
-
スプレッドシートで指定された...
-
作成した数式を値として表示し...
-
EXCELの散布図で日付が1900年に...
-
Excel関数について教えてくださ...
-
Excel関数について教えてくださ...
-
マクロの処理が遅くなった
-
エクセルを使用して、円周率を...
-
エクセルでファイルの最終更新...
-
エクセルのセル内に分数などの...
-
条件付き書式設定で罫線を引き...
-
シートの情報を別のシートへま...
-
【マクロ】フォルダ内にあるPDF...
-
エクセルで曜日を入れたい
-
Microsoft 365Excelの見開きペ...
-
Excelで時間の計算の方法 7時45...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報