私が現在どこにいるのか、下の編集をご覧ください。ありがとうございます。ピボットキャッシュタイプの不一致エラーVB.NET Excel
として、私は、ピボットキャッシュが定義されているときに正常に動作し、ピボットテーブルを作成しました:私の問題は、行数が日から日に変更されたので、私は、行の数を把握することをある
Dim ptCache As Excel.PivotCache = mainHighway.PivotCaches.Add(SourceType:=Excel.XlPivotTableSourceType.xlDatabase, SourceData:=mainHighwayData.Range("a1:v7500"))
ワークシートで、その後、私のピボットキャッシュであることを使用します。
Dim highlRow As Integer
highlRow = mainHighwayData.Cells.SpecialCells(XlCellType.xlCellTypeLastCell).Row
Dim ptCache As Excel.PivotCache = mainHighway.PivotCaches.Add(SourceType:=Excel.XlPivotTableSourceType.xlDatabase, SourceData:=mainHighwayData.Range("a1:V" & highlRow))
このソリューションは、歴史的に私のために素晴らしい仕事をしているが、私はここでそれを行うときに、私が取得:
Type mismatch. (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))
私はそれを周りの公平なビットをいじると発見されていること、私がしなければ:
highlRow = 7000
Dim ptCache As Excel.PivotCache = mainHighway.PivotCaches.Add(SourceType:=Excel.XlPivotTableSourceType.xlDatabase, SourceData:=mainHighwayData.Range("a1:V" & highlRow))
それは正常に動作しますので、私は私が定義する方法に問題が何であるか疑問に思ったままにしていますhighlRow specialcellsコマンドを使用し、それを整数として格納します。私はここに何らかの種類や鋳造の問題があるように感じますが、私はそれに私の指を置くことはできません。私は試しました:
そして、それはどちらも良いことではありませんでした。おそらく最後の行を見つけるための私の方法は、ここでは適用できません?とにかく、私は長い時間をかけてそれを試してきました。私はこの時点で私の車輪を回転させています。あなたが思考を持っているなら、それは非常に高く評価されるでしょう。
いつもありがとうございます。
編集:私も試してみた:
歴史的に働いて、また実行することができませんでしたいUsedRange.Rows.Count
。この時点で、ピボットキャッシュにこの問題が特にあるように見えるのは非常に興味があります。
@charlesは、最後のセルを取得する他の方法を試すことをお勧めしました。私は試しました:
highlRow = mainHighwayData.Range("A65535").End(XlDirection.xlUp).Row
私はそれが正しい行を与えるために持っているが、それはまだ型の不一致のエラーをスローします。
highlRow = mainHighwayData.Cells.Find("*", SearchOrder:=Excel.XlSearchOrder.xlByRows, SearchDirection:=XlSearchDirection.xlPrevious).Row
これは、最後の行の適切な番号を返しますが、同じタイプの不一致エラーを再びスローします。
編集:もう少し情報を見つけましたが、どうしたらよいか分かりません。ピボットテーブルは、その値が< = 65536であれば正常に動作しますが、2番目の値は65537になります。タイプミスマッチが発生しています。これは65535以上のすべての数字に当てはまります。私は65535かそこそこのExcelがExcelの最後の行に使われていたことは知っていますが、それはもはや事実ではありません。また、私が手動でピボットテーブルを作成しても問題はなく、すべてのデータを持っています。私はintまたはlongを使用しているので、オーバーフローまたは何かであってはなりません。 VB.NETが65537以上の行を持つデータに基づいてピボット・テーブルを作成することができない理由について誰もが考えていますか?
あなたはSpecialCellsコードを使用して、それを割り当てた後highlRowの値は何ですか? –
17105または同様のもの。それはちょうど私に番号であるように見えます、それは私を混乱させるものです。私はそれが17105と同じに設定することとはどのように違うのか分かりません。 – asjohnson