人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセル2007でマクロを作成頂けませんでしょうか。
気持ちだけではありますが、一番最初に完全に動作するマクロを作成頂いた方に200p差し上げます。

AA-CH:3列ごとに数字/文字/数字に区切られている。

(例:AA/001 , AB/Brand"001", AC/5 1/2列目は一対一対応)

AA-CHまで3列に区切った1列目の数字が小さい方を優先し、かつ列で

数字をあわせて(同一数字がなければ3列毎に空欄に)3列毎に並びかえ。

(区切った1列目の数字が同一の数字になるようにする)

よろしくお願いいたします。

http://d.hatena.ne.jp/bamboodragon/20100804/1280898402


●質問者: bamboodragon
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:AA AA- AC エクセル マクロ
○ 状態 :キャンセル
└ 回答数 : 3/3件

▽最新の回答へ

1 ● 卓球オタク

http://soumukouboo.blog91.fc2.com/blog-entry-107.html

ここですべて分かります!


2 ● 卓球オタク

http://office.microsoft.com/ja-jp/excel-help/HP010014111.aspx

すみませんこちらでした!!


3 ● yamaneroom
Sub Macro()
 Dim i As Long
 Dim c As Long
 Dim r As Long
 Dim lastRow As Long
 Dim minNum As Long
 
 lastRow = Cells(Rows.Count, "AA").End(xlUp).Row
 
 For i = 1 To lastRow
 Columns("IT:IT").NumberFormatLocal = "@"
 r = 1
 For c = 27 To 84 Step 3
 Cells(r, "IT").Value = Cells(i, c).Value
 Cells(r, "IU").Value = Cells(i, c + 1).Value
 Cells(r, "IV").Value = Cells(i, c + 2).Value
 r = r + 1
 Next c
 Range("IT:IV").Sort Key1:=Range("IT1"), Order1:=xlAscending, Header:= _
 xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
 SortMethod:=xlPinYin, DataOption1:=xlSortNormal
 
 r = 1
 For c = 27 To 84 Step 3
 Cells(i, c).Value = Cells(r, "IT").Value
 Cells(i, c + 1).Value = Cells(r, "IU").Value
 Cells(i, c + 2).Value = Cells(r, "IV").Value
 r = r + 1
 Next c
 
 Columns("IT:IV").Clear
 Next i
 
 c = 27
 Do
 minNum = 1000
 For i = 1 To lastRow
 If Cells(i, c).Value <> "" Then
 If Cells(i, c).Value < minNum Then
 minNum = Cells(i, c).Value
 End If
 End If
 Next i
 
 If minNum = 1000 Then
 Exit Do
 Else
 For i = 1 To lastRow
 If Cells(i, c).Value <> minNum And Cells(i, c).Value <> "" Then
 Range(Cells(i, c), Cells(i, c + 2)).Insert Shift:=xlToRight
 End If
 Next i
 End If
 
 c = c + 3
 Loop
End Sub
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ