![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
たとえば、On Error GoTo line のような感じでエラーハンドラーに飛ばす。
Sub test01()
On Error GoTo line
'フィルタをかけるコード
On Error GoTo 0
'転記のコード
Exit Sub
line:
MsgBox "データがありません。"
End Sub
あるいは
On Error Resume Next
でエラーを無視する。
No.4
- 回答日時:
こんばんは。
>Sheets("メンバー").Select
>Selection.AutoFilter Field:=10, Criteria1:="5"
↑
これは、エラーが出ませんか?
>データ数をカウントしたいのですが、
以下のように、SubTotal 関数を使うのが分かりやすいです。ただし、タイトル行(最上部)を含んでしまいますので、△1 引いてあげます。Subtotal(3,....), Subtotal(2, ....) かは、状況にもよりますが、今回は、3 のほうにしました。
'---------------------------------
Worksheets("メンバー").Select
Range("A1").CurrentRegion.AutoFilter _
Field:=10, _
Criteria1:="5"
Range("L2:L100").Copy
'AutoFilter で抽出したデータ行数を数える
i = WorksheetFunction.Subtotal(3, ActiveSheet.AutoFilter.Range.Columns(1)) - 1
If i < =11 Then 'Else 側がデータ数が多いなら、i < 11 になると思います。
Sheets("カルテ").Range("J71").PasteSpecial
Else
MsgBox "データ数が多い。"
End If
Application.CutCopyMode = False
'--------------------------------
なお、
Criteria1:="5"
の5 が変わっていく場合は、リストを作っておいて、それを、ループの中で、変数で代入していきます。
No.3
- 回答日時:
こんにちは。
コードを見せられていないのでなんともいえませんから、回答はいろんな内容になるとは思います。実際に、"フィルタ"とは何を指しているのか分かりません。オートフィルタもあれば、フィルタオプションもあると思います。SubTotal 関数を使って判定する方法もあります。
例えば、AutoFilter なら、以下のようなコードを使います。
Sub Test1()
Dim i
Range("A1").AutoFilter Field:=1, Criteria1:="z"
With ActiveSheet.AutoFilter.Range
i = .Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count
If i > 1 Then
.Copy Worksheets("Sheet2").Range("A1")
End If
End With
End Sub
この回答への補足
コードを記載せず、すみません・・・
エラー処理はできたのですが、1つ教えていただいてよろしいでしょうか。
マクロを記録して作りました。
「メンバー」シートの該当項目にオートフィルタを順にかけ、
値をコピーし、「カルテ」シートに貼付けます。
その際、データ数をカウントしたいのですが、
どうすればよいでしょうか???
Sheets("メンバー").Select
Selection.AutoFilter Field:=10, Criteria1:="5"
Range("L2:L100").Select
Application.CutCopyMode = False
Selection.Copy
If ???? > 11 Then
Sheets("カルテ").Select
Range("J71").Select
ActiveSheet.Paste
Else
MsgBox "データ数が多い。"
End If
No.1
- 回答日時:
プログラムコードの実物が無い以上、「回避できるコードを埋め込め」
としか言いようがありません。
よくやる手は、フィルタの処理が始まる前に、フィルタを掛けるテーブル
の先頭レコードを見に行って、セルが空欄の時に処理を止めるというコード
を書く、という方法ですが、VBA上のIF文などの使い方を知ってることが
前提になります。
逆に言えば、キー記録だけでマクロを作る場合、回避する手段はありません。
必ずダミーのデータを埋め込むように運用するか、エラーが出ても気にしない
で使うかのどちらかになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
1コールだけ鳴るけど切れる電話...
-
face book で女性の方からline ...
-
いきなりラインのトークに「新...
-
よく05(04)lineって見かけるん...
-
LINE追加で「該当するユーザー...
-
生産ラインの品質を表す直行率...
-
lineのワン切り、なぜ?
-
Windowsのバッチファイルで正規...
-
既婚女性にラインを聞くことに...
-
妊娠したらどうする?聞くのは...
-
ある男子から、ライン追加され...
-
ラインナップとラインアップは...
-
「一番上、真ん中、下」を示す英語
-
自分で人探し
-
タイトルの改行
-
私がlineのアイコンを変更する...
-
64ビットエクセルでのAPI宣言/P...
-
先輩のライン(男性)を追加した...
-
まだそんなに親しくない相手と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
phpとpostgreの接続にエラー解...
-
1コールだけ鳴るけど切れる電話...
-
face book で女性の方からline ...
-
よく05(04)lineって見かけるん...
-
Windowsのバッチファイルで正規...
-
LINE追加で「該当するユーザー...
-
ラインナップとラインアップは...
-
生産ラインの品質を表す直行率...
-
いきなりラインのトークに「新...
-
ある男子から、ライン追加され...
-
「一番上、真ん中、下」を示す英語
-
遠くにいる友達とLINE交換する...
-
LINEで好きな人が「笑」を全然つ...
-
質問です。 先日クラスの女子に...
-
法線(normal line)はなぜそう...
-
python flask から fastapiへの...
-
lineのワン切り、なぜ?
-
私がlineのアイコンを変更する...
-
教えてください
おすすめ情報