
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も見ています
-
複数指定セルの可視セルのみを別シートに転記するVBAについて
Visual Basic(VBA)
-
excelで可視セルのみ置換
Excel(エクセル)
-
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
-
4
エクセルでフィルターをかけた列にデータを貼り付けする方法
Excel(エクセル)
-
5
Excel2016 まとめてのコピペができない時があります
Excel(エクセル)
-
6
エクセル オートフィルタで絞り込みをしたデータの色つけ
Excel(エクセル)
-
7
【Excel】 可視セルへの貼り付けについて
Excel(エクセル)
-
8
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
9
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
10
エクセルのフィルタオプションで「ある文字列を含まない」条件は?
Excel(エクセル)
-
11
Offsetで可視セルだけを移動したい。
Excel(エクセル)
-
12
EXCELのVBA-フィルタ抽出後のセル選択方法
Visual Basic(VBA)
-
13
Excel VBAでオートフィルタで抽出した列データを別シートの最終行にコピーするには
Visual Basic(VBA)
-
14
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
15
エクセルで隣接していない複数のセルをコピーして、その状態(隣接していない)で張り付ける方法
Excel(エクセル)
-
16
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
17
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
18
Excelで行ごとコピー、同じ行を3行にしたい
Excel(エクセル)
-
19
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
20
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2÷3などの余りについて
-
「Aに対するBの割合」と「Aに対...
-
エクセルで可視セルにのみ値貼...
-
Aの値からBの値を除するとは??
-
ある商品のロス率を5%見込み、...
-
マイナスからプラスへ転じた時...
-
数学のデータの相関の散布図で...
-
Excelで1つしかない値だけを抽...
-
10%引いた元の数字を出すには?
-
エクセルの問題です。絶対値の...
-
信頼区間の1.96や1.65ってどこ...
-
20'(角度)の計算がわかりま...
-
えきねっとのトクだ値とトク割...
-
EXCELの分散分析表のP-値が....
-
お米って何故こんなに値が上が...
-
a^2の√=a が成り立たない場合
-
今年の一橋大学の整数問題の第...
-
変数とパラメータとは違うもの...
-
数学についてです! (1)3√5-2...
-
クロネッカーのデルタについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Aに対するBの割合」と「Aに対...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
エクセルで可視セルにのみ値貼...
-
20'(角度)の計算がわかりま...
-
2÷3などの余りについて
-
マイナスからプラスへ転じた時...
-
ある商品のロス率を5%見込み、...
-
エクセルの問題です。絶対値の...
-
Excelで1つしかない値だけを抽...
-
値差の%計算方法について
-
数学のデータの相関の散布図で...
-
変数とパラメータとは違うもの...
-
エクセルのオートフィル?ドラ...
-
10%引いた元の数字を出すには?
-
エクセル 3つの値の中からデー...
-
楕円の外周の計算方法
-
a^2の√=a が成り立たない場合
-
シグマを平均値で割る
-
パーセントの出し方を教えて下さい
おすすめ情報