2017-01-11 12 views
-1

これが私にとってうまくいかない理由を誰に見てもらえますか?この簡単なVBAコードが機能しないのはなぜですか

私のセルH6には12桁の数字が含まれているため、Longを使用しています。それを動作させるためには、このコードを調整する方法について の任意の考え:あなたが唯一の9桁を保存することができますので

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

'This line stops the worksheet updating on every change, it only updates when cell'H6 or H7 is touched 
If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub 

'Set the Variables to be used 
Dim pt As PivotTable 
Dim Field As PivotField 
Dim NewCat As Long 

'Here you amend to suit your data 
Set pt = Worksheets("Data1").PivotTables("PivotTable10")  
Set Field = pt.PivotFields("[Produkter].[EAN].[EanID]") 

NewCat = Worksheets("Data1").Range("H6").Value  

'This updates and refreshes the PIVOT table 

With ActiveSheet.PivotTables("PivotTabel10").PivotFields("[Produkter].[EAN].[EanID]") 
    .ClearAllFilters 
    .PivotFilters.Add Type:=xlCaptionEquals, Value1:=ActiveSheet.Range("H6").Value 
End With 
+5

このコードは何をすべきですか?今何してるの?エラーメッセージが表示されますか?ツアーをしましたか(http://stackoverflow.com/tour)? – steenbergh

+1

コード内で何が起こっているのか、どんなことを達成しようとしているのか、どの行でエラーが発生しているのかをよく説明してください。現状の投稿は私たちに多くを教えることはできません。あなたを助けることはほとんど不可能です –

+0

申し訳ありません。 ピボットテーブルのフィルタがその番号に変更されるように、セルH6に12桁の数字を入力できるようにしたいと考えています。私は少し異なるエラーが発生しますが、最も一般的なのはランタイムエラー6オーバーフローです。 –

答えて

0

ロングは32ビットのみです。 Doubleを使用するか(64ビット版の場合のみ)LongLong。

+0

うーん、もし私がダブルを使用して取得:ユーザー定義型は定義されていません。 そして、私がLongLongを使用する場合は、次のようになります。ワークシートクラスのPivotTabelsプロパティを取得できません。しかし、チェックして、それが正しいはずです。 –

関連する問題