ここから本文です

「エクセルVBAで特定列を昇順にしたいのですがわかりません。」 先日下記でVBA...

cur********さん

2018/8/310:56:59

「エクセルVBAで特定列を昇順にしたいのですがわかりません。」

先日下記でVBAについて質問させて頂いたのですが
追加で表題のように特定列を昇順にしたいです。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q141938701...


データは下記からダウンロード頂けます。

https://yahoo.jp/box/jLqzFu

「ベースデータ」シートの
B列「営業A」「営業B」・・・ごとに別シートに振り分けるようになっています。
振り分けたシートのデータをC列(商材)を基準に昇順にするVBAを追加するにはどうしたら良いでしょうか?

どなたかご教示お願いいたします。

下記作成したVBAです。

Private Sub Worksheet_Activate()
Range("b8").CurrentRegion.SpecialCells(xlCellTypeVisible).Clear
With Sheets("ベースデータ")
.AutoFilterMode = False
.Range("B6:K6").AutoFilter
.Range("B6:K6").AutoFilter Field:=1, Criteria1:="営業A"
.Range(.Range("b6"), .Range("b6").SpecialCells(xlLastCell)).SpecialCells(xlCellTypeVisible).Copy Range("b7")
.AutoFilterMode = False
End With
End Sub

閲覧数:
80
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tra********さん

2018/8/315:02:28

Private Sub Worksheet_Activate()
Dim rng As Range
Set rng = Range("b7")
rng.CurrentRegion.Clear
With Sheets("ベースデータ")
.AutoFilterMode = False
.Range("B6:K6").AutoFilter Field:=1, Criteria1:="営業A"
.AutoFilter.Range.Copy Range("b7")
.AutoFilterMode = False
End With
With rng.CurrentRegion
.Sort Key1:=.Columns(2), Header:=xlYes, Order1:=xlAscending
End With
End Sub

質問した人からのコメント

2018/8/6 16:32:27

初めにご教示頂いた内容を参考に作成したところ作動する事はできました。
ただ2人目の方同様、私の知識不足につきご教示頂いた内容を100%反映させる事はできませんでした。
3人目にご教示頂いた方はコードがシンプルである事。
今の私の知識不足を補って頂ける内容でしたのでベストアンサーとさせて頂きました。

皆様本当にありがとうございました。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

tai********さん

2018/8/314:03:12

標準モジュールに


Sub test()
Dim sh As Worksheet
For Each sh In Worksheets
sh.Range("C7").CurrentRegion.Sort key1:=sh.Range("C7"), order1:=xlAscending, Header:=xlYes
Next
End Sub


2007から並べ替えのコードが少し変わりました。マクロの記録をすると新しい仕様で記録されますがかなり長いコードになります。今回のは新しい機能の出番がないのでむしろ古いタイプのほうが簡単で明快です。

各シートで見出しの位置が違うのがのポイントで(これは解消したほうがいいです)共通して存在しているのが7行目です。この7行目からエクセルにデータ範囲を自動取得させます。なのでベースデータシートの「↓数式」の文字は消しておかないとここをヘッダーとエクセルが勘違いします。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

tac********さん

2018/8/311:07:10

”マクロの記録”でできると思うのですが?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる