ImはVBAで非常に新しいものです。私は私のプロジェクトについて説明します。セルからピボットテーブルに日付を挿入してフィルタとして使用する
フィルタリングする情報がたくさんあるExcelシートがあります。現時点では私のコードは次のようになります。
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields(_
"CREATION_DATE")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique2").PivotFields("AMOUNT"), _
"Nombre de AMOUNT", xlCount
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("STATUS")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields(_
"VENDOR_NAME")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields(_
"INVOICE_NUM")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields(_
"Nombre de AMOUNT")
.Caption = "Somme de AMOUNT"
.Function = xlSum
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields(_
"CREATION_DATE").CurrentPage = "08/09/2016"
このコードは、日付2016年8月9日にフィルタリングするために抽出するために動作します。 ここで、コードを起動する前にピボットテーブルにこの日付を取得させたいと思います。
しかし、私が望む日付を変更するたびにコードに入る必要はありません。
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields(_
"CREATION_DATE").CurrentPage = "A1"
私は、セル「A1」に「2016年9月9日」書くしかし、私は、デバッグエラーを取得しています: 例:
私はこのような何かをしたいと思います。
'.CurrentPage =範囲( "A1")Value2' ...あなたは'その周りに) 'CDate関数を(ラップする必要があるかもしれません。 –
あなたの責任感ありがとうございますが、うまくいきません。 Cdate()をラップするとどういう意味ですか? ActiveSheet.PivotTables( "Tableaucroisédynamique2")。PivotFields(_ "CREATION_DATE")。CurrentPage = Range(CDate( "'Sheet_date'!A1"))。値2 – Thistlepower
スコットは、 CurrentPage = Range( "A1").Value2'は動作しません。 '... .CurrentPage = CDate(Range( "A1").Value2) 'を使用してください。しかし、実際には文字列が必要な場合がありますので、Scottの提案がどちらもうまくいかない場合は、 '.CurrentPage = Format(CDate(Range(" A1 ").Value2)、" dd/mm/yyyy ")'(または "mm/dd/yyyy" - その日付がどの形式であるかによって異なります)。 – YowE3K