ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

EXCEL VBAコミュの並び替えマクロが動きません☆

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Sub 範囲自動設定の並び替え()

Dim zentai As Integer
Range("A1").Select
Selection.ClearContents
ActiveCell.FormulaR1C1 = "=COUNTA(C[1])"
Range("A1").Select
Selection.Copy
ActiveCell.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False

zentai = Range("A1").Value
Worksheets("sheet1").Activate
ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add Key:=ActiveCell.Offset( _
0, 5).Range(Cells(1, 1), Cells(18, zentai)), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("sheet1").Sort
.SetRange ActiveCell.Offset(1, 0).Range(Cells(1, 1), Cells(18, zentai))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
------------------------------
…と、こんなマクロを作ってみたのですが、
デバッグ画面で「Apply」が黄色になってしまいます涙
どなたか詳しい方、どこをどう直せばいいのか教えてくださいあせあせ(飛び散る汗)

コメント(4)

バージョンは2007ということでよろしいでしょうか?

>ActiveCell.Offset(1, 0).Range(Cells(1, 1), Cells(18, zentai))

これの説明をお願いします。
何を指しているのでしょう?

また、zentai ってB列のデータ個数のカウントですよね…
B列の「途中」に空白セルはない! ということでよろしいのでしょうか?
それとzentaiを横方向の範囲に使っていますがそれでいいのでしょうか?
以下の2点を直せば大丈夫かと。

変更点1
<変更前>
ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add _
Key:=ActiveCell.Offset(0, 5).Range(Cells(1, 1), Cells(18, zentai)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
<変更後>
ActiveWorkbook.Worksheets("sheet1").Sort.SortFields.Add _
Key:=ActiveCell.Offset(0, 5), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

activecell(A1)から5列目(F列)をキーにして並べ替えする、ということで良いですか?


変更点2
<変更前>
.SetRange ActiveCell.Offset(1, 0).Range(Cells(1, 1), Cells(18, zentai))
<変更後>
.SetRange ActiveCell.Offset(0, 1).Range(Cells(1, 1), Cells(zentai, 18))

並べ替え対象の表はどこからどこまでですか?
上記変更はActiveCellがA1で表がB1から18列zentai行(B1:S列zentai行)という表を対象としていますが、それでよいでしょうか?


あとA1をコピー&ペーストしていますが、この操作は必要ですか?
数式を入れておけば最初にA1をSelectするだけでうまく動くと思いますが。
takecさま!Yujinさま!
丁寧な解説、ありがとうございました!!
おかげさまで、ちゃんと動きましたよ☆
めちゃくちゃ感動しました!!
助かりました!わーい(嬉しい顔)
> laughlaughsmileさん
希望通りの動きになったようで良かったです。

今回VBAのコードだけで具体的に何がしたいのか分かりにくかったので答えようか迷いました。
次回から質問するときはバージョンなどの基本情報や具体的なやりたいこともあれば良いと思います。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

EXCEL VBA 更新情報

EXCEL VBAのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。