![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
No4です。
>Set r = Intersect(Selection, ActiveSheet.AutoFilter.Range)
>の行です
多分、Selection か AutoFilter.Range が取れてないってことだと思いますけれど・・
Office2019 の場合は AutoFilter をかけていないと、ActiveSheet.AutoFilterがNothingになるので、前の行でそれをチェックしています。
(365では仕様が変わっているのかも知れませんね)
Selection はユーザの選択範囲ですが、セル範囲を選択していればエラーにはならないはずと思いますが、何か別の図形などを一緒に含んでしまっていることはありませんか?
多少チェックポイントを増やしてみた例を以下に示しておきます。
もしも、以下で『オートフィルタ範囲を取得できません』の表示が出るなら、365と2019の仕様の違いだと思われますので、当方の環境では確認できません。
その場合には、オートフィルタの範囲を取得できさえすれば良いので、直接Rangeで指定するようにしてしまえば、とりあえずは動作すると思います。
Sub sample()
Dim r As Range, c As Range
If ActiveSheet.AutoFilter Is Nothing Then MsgBox "オートフィルタが設定されていません": Exit Sub
On Error Resume Next
Set r = ActiveSheet.AutoFilter.Range
If Err.Number <> 0 Or r Is Nothing Or TypeName(r) <> "Range" Then _
MsgBox "オートフィルタ範囲を取得できません": Exit Sub
If TypeName(Selection) <> "Range" Then MsgBox "選択範囲が不正です": Exit Sub
On Error GoTo 0
Set r = Intersect(Selection, r)
If r Is Nothing Then MsgBox "有効な範囲が指定されていません": Exit Sub
For Each c In r.Cells
If Not c.EntireRow.Hidden Then c.Value = c.Value
Next c
End Sub
No.3
- 回答日時:
No2です。
>どこかの行が引っかかってるというわけは無さそうです
状況がわかりかねます。
実行できずに、エディターに入力した時点でエラー表示になるってことでしょうか?
それとも、実行はできるけれどエラーが表示されるってことでしょうか?
後者なら、「どこの行か不明」ってことはないと思いますけれど・・
前者の場合は、バージョン等環境の違いかもしれません。
ちなみに、当方は Office2019 ですが、問題なく実行できます。
入力した時点では問題なく実行も出来ます。
エラーが表示された際、特定の行に色が付いていないのでどこの行か不明なのですが
エラーになった行を特定できる機能があるのならお手数ですが教えて頂きたいです
Office365です
No.2
- 回答日時:
No1です。
>フィルターをかけVBAで列を選択し、やってみたのですが
>エラー 424
>オブジェクトが必要です
>が出てしまいました
あら・・・
出そうなものはチェックしたつもりだったのですが、
どの行でエラーになっているのでしょうか?
すみません。No1のコードにタイポがありました。
これが原因とは限らないのですが、訂正しておきます。
>Dim f As Range, c As Range
↓ ↓ ↓
Dim r As Range, c As Range
※ ちなみに当方の環境では、No1のままのコードでも、
処理はできエラーはでませんね。
(とは言え、訂正はしておいてください)
ありがとうございます。
直しましたがやはり同じエラーです
どこかの行が引っかかってるというわけは無さそうです
VBAは大分初心者なので見落としてるところがあるのかもしれません
No.1
- 回答日時:
こんにちは
手作業でやるには、一発では無理そうですね。
若干手間が掛かりますが、ソート機能を利用すればひとつずつ処理するよりは速いでしょう。
1)フィルターをかける
2)空き列に何らかのマークを入力し、最終行までフィルコピー
3)フィルターを外して、マークでソート
以上で、対象の行だけ固まりますので、その範囲をまとめてコピー、値をペースト
4)再度ソートで元の順序に戻す
(元の順を記録しておくために、ナンバリングの列が必要になります)
「そんなかったるいことやってらんねぇ!」という場合はVBAで。
フィルターをかけた状態で、値に変換したい列を選択して以下を実行することで、可能と思います。
(フィルターがない場合や、対象範囲が選択されていなければなにもしません)
Sub sample()
Dim f As Range, c As Range
If ActiveSheet.AutoFilter Is Nothing Then Exit Sub
Set r = Intersect(Selection, ActiveSheet.AutoFilter.Range)
If r Is Nothing Then Exit Sub
For Each c In r.Cells
If Not c.EntireRow.Hidden Then c.Value = c.Value
Next c
End Sub
ありがとうございます。
フィルターをかけVBAで列を選択し、やってみたのですが
エラー 424
オブジェクトが必要です
が出てしまいました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 可視セルだけコピーしたい ※条件付き書式で非表示 2 2021/11/01 12:01
- その他(コンピューター・テクノロジー) スプレッドシートのフィルターについて 関数が入っているセルを条件としてフィルターをかけたいのですが、 1 2022/05/30 17:17
- Visual Basic(VBA) 【Excel VBA】シートの中から特定の文字列のセル位置を取得するには? 6 2021/11/03 23:11
- Excel(エクセル) エクセル集計後の列に商品名を入れる方法を探しています。 2 2021/12/08 20:56
- Excel(エクセル) エクセル 指定した列の全ての行の元の値に7%掛けた合計にしたい 2 2021/11/30 15:12
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Excel(エクセル) excel関数について お世話になります。上のセルに関数を入れセル右下をダブルクリックすると、関数は 4 2021/11/17 12:11
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- Visual Basic(VBA) オートフィルタの結果をコピーして、別ブックに値で貼り付けたい 1 2021/11/08 21:24
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
【Excel】 可視セルへの貼り付けについて
Excel(エクセル)
-
エクセル フィルタをかけたセルに貼り付け
その他(Microsoft Office)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
5
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
8
複数指定セルの可視セルのみを別シートに転記するVBAについて
Visual Basic(VBA)
-
9
エクセルでエラーが出て困っています。
Excel(エクセル)
-
10
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
11
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
12
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
13
E列のセルに数値が入れば(空白でなければ)B列の同じ行のセルに色がつく
その他(Microsoft Office)
-
14
【エクセル】関数で「A1が0でないならB1を表示」の式
その他(コンピューター・テクノロジー)
-
15
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
16
テーブルリンク エクセルの4行目を先頭行にしたい
Access(アクセス)
-
17
セル内文章から、英数字のみ取り出す関数を教えてください
Excel(エクセル)
-
18
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
19
excelで可視セルのみ置換
Excel(エクセル)
-
20
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
信頼区間の1.96や1.65ってどこ...
-
Aの値からBの値を除するとは??
-
マイナスからプラスへ転じた時...
-
2÷3などの余りについて
-
「Aに対するBの割合」と「Aに対...
-
値差の%計算方法について
-
ある商品のロス率を5%見込み、...
-
Excelで1つしかない値だけを抽...
-
エクセルで可視セルにのみ値貼...
-
正の数aは4の倍数で、7でわると...
-
√19-aの値が整数となる正の整数...
-
変数とパラメータとは違うもの...
-
41.59のどちらを割っても余りが...
-
パーセント点はP1 P5 P10 P25 P...
-
数学のデータの相関の散布図で...
-
比と比の値について。 a:b=a/b ...
-
logx/x を微分したら 1-logx/x^...
-
条件つきの最大・最小
-
楕円の外周の計算方法
-
度数分布表の階級幅の決め方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マイナスからプラスへ転じた時...
-
2÷3などの余りについて
-
信頼区間の1.96や1.65ってどこ...
-
Aの値からBの値を除するとは??
-
エクセルで可視セルにのみ値貼...
-
「Aに対するBの割合」と「Aに対...
-
変数とパラメータとは違うもの...
-
EXCELの分散分析表のP-値が....
-
ある商品のロス率を5%見込み、...
-
20'(角度)の計算がわかりま...
-
値差の%計算方法について
-
連立方程式の問題です 去年の新...
-
Excelで1つしかない値だけを抽...
-
大学数学の問題です。 加法群Z/...
-
連立方程式の問題です 去年の新...
-
大きな負の値?負の大きな値???
-
10%引いた元の数字を出すには?
-
lim{x→0} cos(1/x)...
-
楕円の外周の計算方法
-
数学 確率変数Xは、X=2またはX...
おすすめ情報