フィルタリングされたデータに対してcopy + pasteを実行する際に問題が発生しています。フィルタリングされたフィールドが0の結果または1より大きい場合、私のコードにエラーが発生しません。ただし、フィルタの後に1つのレコードが表示されると、ランタイムエラー6が表示されます。以下のコードは使用ご覧ください。ランタイムエラー6 - オーバーフロー、ロングに設定された変数
Dim wsDue As Worksheet
Dim wsTarget As Worksheet
Dim y As Long
Dim x As Long
x = Range("A65536").End(xlUp).Row
Range("A1").AutoFilter Field:=2, Criteria1:=Array("Yes"), Operator:=xlFilterValues
Set wsDue = Worksheets("Due")
Set wsTarget = Worksheets("Target List Consolidated")
y = wsDue.Range("B" & wsDue.Rows.Count).End(xlUp).Row
If wsDue.Range(wsDue.Cells(2, 2), wsDue.Cells(y, 2)).SpecialCells(xlCellTypeVisible).Count > 1 Then
wsDue.Range("B2:B" & x).Copy
wsTarget.Range("A65536").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False
Else:
End If
はそれが 'wsDue.Rangeすべきではない行1のヘッダを除いた所望の範囲をコピーします"B2:B"&y).Copy'? – Jeeped
** x **と** y **は同じものではありませんか?彼らは別のワークシートから来たはずですか? 1つの親ワークシートを定義するのはなぜですか? – Jeeped
それは働いた!私はyを削除し、xを使用しました。ありがとう@Jeeped – atserk