
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1コールだけ鳴るけど切れる電話...
-
「一番上、真ん中、下」を示す英語
-
相手側の携帯が電源切れてる時...
-
生産ラインの品質を表す直行率...
-
毎月記念日をlineで祝うのって...
-
風俗に行ったとして、そこで嬢...
-
私がlineのアイコンを変更する...
-
Lineを登録したことがバレました
-
遠くにいる友達とLINE交換する...
-
よく05(04)lineって見かけるん...
-
Windowsのバッチファイルで正規...
-
ある男子から、ライン追加され...
-
ラインナップとラインアップは...
-
歯科衛生士の方へ、連絡先を渡...
-
face book で女性の方からline ...
-
いきなりラインのトークに「新...
-
先輩のライン(男性)を追加した...
-
教えてください
-
ラインの友達登録の仕方
-
「龍脈」の英訳を教えてくださ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
1コールだけ鳴るけど切れる電話...
-
face book で女性の方からline ...
-
風俗に行ったとして、そこで嬢...
-
ラインナップとラインアップは...
-
いきなりラインのトークに「新...
-
よく05(04)lineって見かけるん...
-
遠くにいる友達とLINE交換する...
-
Windowsのバッチファイルで正規...
-
毎月記念日をlineで祝うのって...
-
「一番上、真ん中、下」を示す英語
-
ある男子から、ライン追加され...
-
生産ラインの品質を表す直行率...
-
python flask から fastapiへの...
-
2000年生まれなのですが 00line...
-
swift言語のprintln()関数で「p...
-
法線(normal line)はなぜそう...
-
先輩のライン(男性)を追加した...
-
line でおはようございます、の...
-
会社の先輩とLINE プライベート...
おすすめ情報