[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オブジェクト 定義エラーについて』(真由美)
いつも大変お世話になっております
教えて頂けたら幸いです
下記の様に書いてみましたが
.Range("A2", Range("A2").End(xlDown)).Select この部分でオブジェクト エラーが出てしまいます どのようにすればいいのでしょうか 宜しくお願いいたします
ユーザーフォーム コマンドボタンで処理をしたいです
With Worksheets("LIST") .Range("A2", Range("A2").End(xlDown)).Select .Sort.SortFields.Clear .Sort.SortFields.Add Key:=Range("A2"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortTextAsNumbers End With
With Worksheets("LIST").Sort .SetRange Range("A2", Range("C2").End(xlDown)) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
< 使用 Excel:Excel2010、使用 OS:Windows7 >
(γ) 2017/01/04(水) 12:40
有難う御座います
.Range("A2", .Range("A2").End(xlDown)).Select
このように書き換えました所
RangeクラスのSelectメゾット失敗しました
というメッセージが出てきました
装飾の問題と思いますが 下記の様にSelectで固めると
エラーが出ないのが よく解らない所です
Sub リスト並び替え()
'
Sheets("LIST").Select Range("A2", Range("A2").End(xlDown)).Select ActiveWorkbook.Worksheets("LIST").Sort.SortFields.Clear ActiveWorkbook.Worksheets("LIST").Sort.SortFields.Add Key:=Range("A2"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortTextAsNumbers With ActiveWorkbook.Worksheets("LIST").Sort .SetRange Range("A2", Range("C2").End(xlDown)) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub (真由美) 2017/01/04(水) 14:12
標準モジュールやワークブックモジュールにプログラムを置く場合、親が指定されていないRangeやCellはその時アクティブな シート上の物だと判断される。
また、RangeやCellをSelectする場合、まずそれが存在するシートがSelectされてアクティブになっていないとならない。
そもそも > With Worksheets("LIST") >.Range("A2", Range("A2").End(xlDown)).Select の部分、Selectする必要があるのだろうか?
なお、最初に挙げた条件によりシートがアクティブになっていない場合、すべてのRangeに親の指定が必要になる。
(ねむねむ) 2017/01/04(水) 14:23
ねむねむさんのご回答のとおりかと思います。
参考までに、こんな書き方もあります。
Sub test2() Dim ws As Worksheet Dim rng As Range
Set ws = Worksheets("LIST") Set rng = ws.Range("A2", ws.Range("A2").End(xlDown))
With ws.Sort .SortFields.Clear .SortFields.Add Key:=rng.Cells(1, 1), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortTextAsNumbers .SetRange rng .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
# Key指定のところが一般性を欠くかもしれませんが。
(γ) 2017/01/04(水) 14:35
色々有難う御座います
勉強になりました
又何かありましたら
宜しくお願いいたします
γ様
色々有難う御座います
参考コードまで 本当に助かります
又 勉強になります
有難う御座いました
(真由美) 2017/01/04(水) 14:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.