|
▼hiro さん:
>また、他に気になる点があります。criteriarangeがCriteriaRange、copytorangeがCopyToRangeとならないので、コードとして認識していないのかなと心配しています。
それは大丈夫かと思いますよ
たとえば、抽出範囲をRangeオブジェクト型の変数に入れてコードを記述すると、
Dim r As Range '← Rangeオブジェクト型変数
With Worksheets("作業明細")
Set r = .Range("C3", .Cells(.Rows.Count, 3).End(xlUp))
End With
このあと、
r.
とタイプすると、メソッド候補リストに AdvancedFilter があるので[TAB]キー
でそれを選び、そのあとスペースを打ち込むと、
「Action As XlFilterAction, [CriteriaRange], [CopyToRange],[Unique] 」
とパラメータリストが出てきますよね?
そのとき、Action,CriteriaRange, CopyToRange,Unique と大文字小文字を区別
して打ち込めば、モジュール内のそのほかのパラメータリストもみな一括変更さ
れます。↓
r.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Worksheets("日付集計1").Range("A3"), _
Unique:=True
End Sub
すべて小文字だと「コードとして認識していない」かと不安になりますが、
ちゃんと認識しています。
たとえば プロシージャのどこかに
Dim value as double
と、value という変数を宣言したとすると、(こんな変数名あり得ないのですが)
そのプロジェクト内のすべてのモジュールの Rangeオブジェクトの
Valueプロパティが "value" に変わってしまいます。
VBE は プロジェクト全体で変数名、プロパティ、プロシージャ名の
大文字小文字を統一するように管理しています。
先ほど宣言した
> Dim value as double
は、一端
Dim Value as double
と直して、
すぐ この一行を削除しておいてください (^^
|
|