|
Keinさん こんばんわ
有難うございました。作業用セルを使うなんて考えもしませんでした。
またIntersect とGo Toメソッド勉強になりました。良く拝見するのですが今まで使用したことがありません。
頂いたコードでコピーはできるのですが、やはり「RangeクラスのCopyメソッドが失敗しました」のエラー表示が出ます。私のパソコンのせいでしょうか?
MyR とIntersect のアドレスを調べてみると 2:5,8:10 A2:Z5,A8:Z10
になっていて、張り付けのところで止まってしまいます。
もう一度お聞きしたいですが、Intersectで取り出した共通部分から
Set KyotuR = Intersect(MyR, .Parent.Range("A2").CurrentRegion)
AreaCnt = KyotuR.Areas.Count
として 素人考えですが、Union を使って1つにすることは出来ませんか?
配列は全く手が出ません。
>項目行を含めてコピーするなら
>>Range("A2").CurrentRegion
>より Sheets("元データ").AutoFilter.Range を使う方が適切な気もするけど、
Sheets("全データ").AutoFilter.Range.SpecialCells(xlCellTypeVisible)
有難うございます。勉強になりました。使用しました。
>私ならフィルターそのものを使わず、数式で判定して処理します。例えば・・
>
>Dim strDate As String
>Dim MyR As Range
>
>strDate = TextBox1.Text
>With Worksheets("元データ")
> With .Range("C2", .Range("C65536").End(xlUp)).Offset(, 253)
> .Formula = _
> "=IF($C2=DATEVALUE(" & """" & strDate & """" & "),1)"
> .Value = .Value
> .Cells(1).Value = 1
> If WorksheetFunction.Count(.Cells) > 1 Then
> Set MyR = .SpecialCells(2, 1).EntireRow
ここで止まってしまいます。
Intersect(MyR, .Parent.Range("A2").CurrentRegion) _
.Copy Worksheets("結果").Range("A1")
> Application.GoTo Worksheets("結果").Range("A1"), True
> Set MyR = Nothing
> Else
> MsgBox "該当する日付が見つかりません", 48
> End If
> .ClearContents
> End With
>End With
|
|