Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7231 / 13644 ツリー ←次へ | 前へ→

【40236】ピポットで hide 06/7/10(月) 8:48 質問[未読]
【40344】Re:ピポットで 漂流民 06/7/12(水) 0:04 発言[未読]
【40352】Re:ピポットで hide 06/7/12(水) 10:07 発言[未読]
【40380】Re:ピポットで 漂流民 06/7/12(水) 22:42 発言[未読]
【40417】Re:ピポットで hide 06/7/13(木) 15:07 お礼[未読]

【40236】ピポットで
質問  hide  - 06/7/10(月) 8:48 -

引用なし
パスワード
   いつもお世話になっております。

Webのページからエクセルを開き、マクロで集計をしたいのですが、うまくいきません。
別インスタンスでエクセルを立ち上げ、ファイルを読み込む。その後ピポットで集計。
ピポットで集計の時に「集計元ファイルを開く事ができません。」とエラーがでます。

CreateObject以外は、マクロの自動記録で行いました。
どなたかご教授ください。

【40344】Re:ピポットで
発言  漂流民  - 06/7/12(水) 0:04 -

引用なし
パスワード
   ▼hide さん:
こんばんわ

>いつもお世話になっております。
>
>Webのページからエクセルを開き、マクロで集計をしたいのですが、うまくいきません。
>別インスタンスでエクセルを立ち上げ、ファイルを読み込む。その後ピポットで集計。
>ピポットで集計の時に「集計元ファイルを開く事ができません。」とエラーがでます。
>
>CreateObject以外は、マクロの自動記録で行いました。
>どなたかご教授ください。
この質問内容だけでは同じ経験をした人ぐらいしか回答できないと思いますよ。


>Webのページからエクセルを開き
>別インスタンスでエクセルを立ち上げ
これはどのように行っているのでしょうか?

>ファイルを読み込む
どこにある、どのようなファイルを読み込んでいるのでしょうか?

>その後ピポットで集計
どのようなコードですか?

とりあえず、このへんの情報がないと回答は難しいと思います^^

【40352】Re:ピポットで
発言  hide  - 06/7/12(水) 10:07 -

引用なし
パスワード
   ▼漂流民 さん:
>この質問内容だけでは同じ経験をした人ぐらいしか回答できないと思いますよ。
説明不足すいません。回答させて頂きます。
>
>>Webのページからエクセルを開き
>>別インスタンスでエクセルを立ち上げ
>これはどのように行っているのでしょうか?
IEからマクロが登録された、エクセルを開いています。

>>ファイルを読み込む
>どこにある、どのようなファイルを読み込んでいるのでしょうか?
ファイルはサーバにある、DAT形式のファイルを読み込みます。

>>その後ピポットで集計
>どのようなコードですか?
  Dim Myapp As Object
  Set Myapp = CreateObject("excel.Application")
  With Myapp
    .Visible = True
    .Workbooks.OpenText Filename:="\\サーバ\d$\pcm25.dat", StartRow _
    :=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, _
    Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), Array( _
    3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), Array(10 _
    , 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15, 2), Array(16, 2), _
    Array(17, 2), Array(18, 2), Array(19, 2), Array(20, 2), Array(21, 2), Array(22, 2), Array( _
    23, 2), Array(24, 2), Array(25, 2), Array(26, 2), Array(27, 2), Array(28, 2), Array(29, 2), _
    Array(30, 2), Array(31, 2), Array(32, 2), Array(33, 2), Array(34, 2), Array(35, 2), Array( _
    36, 2), Array(37, 1), Array(38, 1), Array(39, 2), Array(40, 2), Array(41, 2), Array(42, 1), _
    Array(43, 1), Array(44, 1), Array(45, 1), Array(46, 1), Array(47, 1), Array(48, 1), Array( _
    49, 1), Array(50, 1), Array(51, 2), Array(52, 2), Array(53, 2), Array(54, 1), Array(55, 1), _
    Array(56, 1), Array(57, 1), Array(58, 1), Array(59, 1), Array(60, 1), Array(61, 1), Array( _
    62, 1), Array(63, 1), Array(64, 1), Array(65, 1), Array(66, 1), Array(67, 1), Array(68, 1), _
    Array(69, 2), Array(70, 2), Array(71, 2), Array(72, 2), Array(73, 1), Array(74, 1), Array( _
    75, 1), Array(76, 1), Array(77, 1), Array(78, 2))
  End With
  ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    "pcm25!R1C1:R1891C78").CreatePivotTable TableDestination:="", TableName:= _"ピボットテーブル1"

CreateObjectでエクセルを新規で立ち上げ、ファイルの読み込みまではうまくできたのですが、集計前に[ピポットテーブルの集計元ファイルが開けません]というエラーがでます。

【40380】Re:ピポットで
発言  漂流民  - 06/7/12(水) 22:42 -

引用なし
パスワード
   ▼hide さん:
>▼漂流民 さん:
>>この質問内容だけでは同じ経験をした人ぐらいしか回答できないと思いますよ。
>説明不足すいません。回答させて頂きます。
>>
>>>Webのページからエクセルを開き
>>>別インスタンスでエクセルを立ち上げ
>>これはどのように行っているのでしょうか?
>IEからマクロが登録された、エクセルを開いています。
最近ちょうど似た様な話があったのですが、
IEのアドレスバーに、エクセルファイルの置いてあるアドレスを入力して開く、
ということですか?

>
>>>ファイルを読み込む
>>どこにある、どのようなファイルを読み込んでいるのでしょうか?
>ファイルはサーバにある、DAT形式のファイルを読み込みます。
>
>>>その後ピポットで集計
>>どのようなコードですか?
>  Dim Myapp As Object
>  Set Myapp = CreateObject("excel.Application")
>  With Myapp
>    .Visible = True
>    .Workbooks.OpenText Filename:="\\サーバ\d$\pcm25.dat", StartRow _
>    :=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
>    ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, _
>    Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), Array( _
>    3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), Array(10 _
>    , 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15, 2), Array(16, 2), _
>    Array(17, 2), Array(18, 2), Array(19, 2), Array(20, 2), Array(21, 2), Array(22, 2), Array( _
>    23, 2), Array(24, 2), Array(25, 2), Array(26, 2), Array(27, 2), Array(28, 2), Array(29, 2), _
>    Array(30, 2), Array(31, 2), Array(32, 2), Array(33, 2), Array(34, 2), Array(35, 2), Array( _
>    36, 2), Array(37, 1), Array(38, 1), Array(39, 2), Array(40, 2), Array(41, 2), Array(42, 1), _
>    Array(43, 1), Array(44, 1), Array(45, 1), Array(46, 1), Array(47, 1), Array(48, 1), Array( _
>    49, 1), Array(50, 1), Array(51, 2), Array(52, 2), Array(53, 2), Array(54, 1), Array(55, 1), _
>    Array(56, 1), Array(57, 1), Array(58, 1), Array(59, 1), Array(60, 1), Array(61, 1), Array( _
>    62, 1), Array(63, 1), Array(64, 1), Array(65, 1), Array(66, 1), Array(67, 1), Array(68, 1), _
>    Array(69, 2), Array(70, 2), Array(71, 2), Array(72, 2), Array(73, 1), Array(74, 1), Array( _
>    75, 1), Array(76, 1), Array(77, 1), Array(78, 2))
>  End With
>  ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
>    "pcm25!R1C1:R1891C78").CreatePivotTable TableDestination:="", TableName:= _"ピボットテーブル1"
>
>CreateObjectでエクセルを新規で立ち上げ、ファイルの読み込みまではうまくできたのですが、集計前に[ピポットテーブルの集計元ファイルが開けません]というエラーがでます。

集計元ファイルが開けないというエラーなので関係ないかもしれませんが、

少し確認です。
1.
>  ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
>    "pcm25!R1C1:R1891C78").CreatePivotTable TableDestination:="", TableName:= _"ピボットテーブル1"

  Myapp.ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    "pcm25!R1C1:R1891C78").CreatePivotTable TableDestination:="", TableName:="ピボットテーブル1"
としてみてください。

2.
>    "pcm25!R1C1:R1891C78").CreatePivotTable TableDestination:="", TableName:= _"ピボットテーブル1"
このシート名"pcm25"は間違いないですか?

3.
>ピポットで集計の時に「集計元ファイルを開く事ができません。」とエラーがでます。
>集計前に[ピポットテーブルの集計元ファイルが開けません]というエラーがでます。
エラーメッセージは正確に書いてください、解決のヒントになる事がよくあります^^


しかし、ピポットテーブル作成時にファイルを読みにいっている形跡がないので、
正直分かりません^^;

【40417】Re:ピポットで
お礼  hide  - 06/7/13(木) 15:07 -

引用なし
パスワード
   ▼漂流民 さん:
>集計元ファイルが開けないというエラーなので関係ないかもしれませんが、
>
>少し確認です。
>1.
>>  ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
>>    "pcm25!R1C1:R1891C78").CreatePivotTable TableDestination:="", TableName:= _"ピボットテーブル1"
>を
>  Myapp.ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
>    "pcm25!R1C1:R1891C78").CreatePivotTable TableDestination:="", TableName:="ピボットテーブル1"
>としてみてください。
>
漂流民さんのコードの通りにしてみたら、エラーは回避されました。あとは、集計部分のコードに「Myapp.」を入力したら出来ました。
本当にありがとうございました。

7231 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free