Excel VBA質問箱 IV

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

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


174 / 3841 ページ ←次へ | 前へ→

【78990】Re:別ウィンドウのワークシート間コピー
発言  エリエール  - 17/4/3(月) 22:33 -

引用なし
パスワード
    お忙しいところお手数かけます。詳細を記載することを失念していました。
申し訳ありませんでした。

 下記◆◆◆がエラー表示されたところです。SheetBのパスは、プロパティの
セキュリティに記載されているものをコピーしています。


Sub WriteData() 'イベントはSheetAのボタンを押します

◆◆◆ ⇒Sub WriteData()'イベントはSheetAのボタンを押します 
と左に矢印が付いた状態で行全体が黄色帯で選択されています。

Dim OutData As Variant 'データ格納用の変数です

Dim App As Object
Dim SheetA As Worksheet
Dim SheetB As Worksheet
Set SheetA = ActiveSheet

OutData = SheetA.Range(Cells(1, 1), Cells(4, 4))

Set App = GetObject("C:\Users\SheetB.xlsm")
Set SheetB = App.Worksheets("Data")

SheetB.Activate

SheetB.Range(.Cells(1, 1), .Cells(4, 4)) = OutData
◆◆◆    ↑の最初の.Cellsの箇所が青帯で選択されて
  「コンパイルエラー 参照が不正または不完全です。」とのメッセージが
   表示されます。

SheetA.Activate

End Sub


以上、よろしくお願いします。
・ツリー全体表示

【78989】Re:別ウィンドウのワークシート間コピー
発言  γ  - 17/4/3(月) 21:22 -

引用なし
パスワード
   >該当箇所を変更しましたが、実行出来ませんでした。
実行できないというのは、どのような状態なんですか?
ステップ実行して見て下さい。

エラーになるなら、
・どの行でエラーになって、
・どのようなエラーメッセージが出るのか
書いてください。

エラーにはならないが、想定と異なるなら、
どのような結果になるのか示してください。

もちろん、こちらでは正常に動作することを確認してから
投稿しています。
・ツリー全体表示

【78988】Re:[無題]
お礼  [名前なし]  - 17/4/3(月) 20:50 -

引用なし
パスワード
   ▼β さん:
無事動きました!

>管理者に聞いてください
の箇所でハッとして、VBAをどうこうしようとしたのではなく、元の貼りつけたデータの行の名前を修正したところ、正常に処理が終了しました。

「得意先」が「得意先名」になっていて、
VBAの方でそれを修正していたつもりがきちんと保存して修正が完了しないままだったようで、一日中同じことを繰り返しては悩んでいたようです。

β様の意図したところではないかもしれませんが、とても助かりました。
きちんと用語がわかっていないので、この書き込みのお礼すら何を言っているのかわかってもらえない可能性もありますが・・・

本当にありがとうございました。
・ツリー全体表示

【78987】Re:[無題]
発言  β  - 17/4/3(月) 20:36 -

引用なし
パスワード
   ▼[名前なし] さん:

With ActiveSheet.PivotTables("得意先別売上金額").PivotFields("得意先")
ここでエラーで、かつメッセージが

PivotTableクラスのPivotFieldsプロパティを取得できません

ですから少なくとも 得意先別売上金額という名前のPivotTable は存在するわけですね。

であれば、あとは、得意先 というフィールドがないということになります。

ピボットテーブル内のセルをクリックして 分析->表示グループのフィールドリスト
でも確認できますし、

Sub Test()
  Dim pf As PivotField
  
  For Each pf In ActiveSheet.PivotTables("得意先別売上金額").PivotFields
    MsgBox pf.Name
  Next
  
End Sub

こんなコードを実行して、実際のフィールドとして、どんなものがあるか確かめてもいいでしょう。

その中に、得意先 という名前のフィールドは無いはずです。

なぜ、なくなったのかはわかりません。

>管理者がちょこちょこいじっているようで

管理者に聞いてください。
・ツリー全体表示

【78986】Re:[無題]
お礼  [名前なし]  - 17/4/3(月) 19:34 -

引用なし
パスワード
   ▼β さん:
>▼[名前なし] さん:
>
>このメッセージ、
>
>PivotTableクラスのPivotFieldsプロパティを取得できません
>
>これを、そのまま検索語にしてググってみてください。
>どっさりと説明ページがでてみます。


ありがとうございます。

検索してみたのですが、どうにもわからなくて。
もう一度いろいろ探してみます。
・ツリー全体表示

【78985】Re:[無題]
質問  [名前なし]  - 17/4/3(月) 19:33 -

引用なし
パスワード
   ▼ななみ さん:
>どういうデータがあって、どういうコードのどこでエラーメッセージが出てくるのかが分からないと・・・。
>この状態で回答できるのは透視が出来る超能力者だけ。


申し訳ありません。
本当に訳が分かっていなくて、どういった書き込みをしていいものかも判然としなくて。

売上データを得意先別にまとめている最中で止まっているようです。
黄色く色がついている場所がエラーの箇所なんですよね?

Sheets("月報用データ(得意先別)").Select
    
  Cells(1, 1).Select
  With ActiveSheet.PivotTables("得意先別売上金額").PivotFields("得意先")
    .Orientation = xlRowField
    .Position = 1
  End With
  ActiveSheet.PivotTables("得意先別売上金額").AddDataField _
  ActiveSheet.PivotTables("得意先別売上金額").PivotFields("外税金額"), "データの個数 / 外税金額", xlCount
  With ActiveSheet.PivotTables("得意先別売上金額").PivotFields("データの個数 / 外税金額")
    .Caption = "合計 / 外税金額"
    .Function = xlSum
  End With
  With ActiveSheet.PivotTables("得意先別売上金額").PivotFields("得意先")
    .PivotItems("(blank)").Visible = False
  End With
  
  ActiveWorkbook.Save

3行目のWith〜から始まる行に黄色い色がついています。

ここだけ貼り付けても意味がないでしょうか・・・
先週までは問題なく動いていたのですが、売上データを抽出するシステムを、管理者がちょこちょこいじっているようで、何かが変わってしまったようなのですが、どうにもわからないのです。

宜しくお願いします。
・ツリー全体表示

【78984】Re:[無題]
発言  β  - 17/4/3(月) 19:32 -

引用なし
パスワード
   ▼[名前なし] さん:

このメッセージ、

PivotTableクラスのPivotFieldsプロパティを取得できません

これを、そのまま検索語にしてググってみてください。
どっさりと説明ページがでてみます。
・ツリー全体表示

【78983】Re:[無題]
発言  ななみ  - 17/4/3(月) 19:21 -

引用なし
パスワード
   どういうデータがあって、どういうコードのどこでエラーメッセージが出てくるのかが分からないと・・・。
この状態で回答できるのは透視が出来る超能力者だけ。
・ツリー全体表示

【78982】[無題]
質問  [名前なし]  - 17/4/3(月) 19:13 -

引用なし
パスワード
   教えて下さい。

エラー'1004'
PivotTableクラスのPivotFieldsプロパティを取得できません

とメッセージが出ます。

どういった意味で、どういう修正をすればよいのでしょうか?
・ツリー全体表示

【78981】Re:windows update情報の抽出
発言  γ  - 17/4/3(月) 15:26 -

引用なし
パスワード
   ネット検索すれば、更新履歴を
テキストに落とすコマンドが
紹介されています。
あとは、Excelなりスクリプトなりで
加工してください。
だめですよ、専門家が手を抜こうと、
こんなところに質問しては。
・ツリー全体表示

【78980】Re:windows update情報の抽出
発言  TW  - 17/4/3(月) 15:07 -

引用なし
パスワード
   ▼γ さん:
>今、手作業でどのようにされているか説明ください。

γ さん ありがとうございます

業務監査の一環でパソコンのセキュリティー監査をしております。
実際には、
1.コンパネ→Windows Update→更新履歴で確認
2.ウイルスバスターコンソールを開き、確認してます。
3.インストールされているフリーソフトウェアについては
  色々ホームページの情報で抽出するマクロで確認してます
  これはできました。

よろしくお願いします。
・ツリー全体表示

【78979】Re:別ウィンドウのワークシート間コピー
発言  エリエール  - 17/4/3(月) 15:02 -

引用なし
パスワード
   ご回答ありがとうございます。

該当箇所を変更しましたが、実行出来ませんでした。
考えてみます。
・ツリー全体表示

【78978】Re:windows update情報の抽出
発言  γ  - 17/4/3(月) 14:41 -

引用なし
パスワード
   今、手作業でどのようにされているか説明ください。
・ツリー全体表示

【78977】windows update情報の抽出
質問  TW  - 17/4/3(月) 12:48 -

引用なし
パスワード
   マクロで、最新のwindows updateの月日、
ウイルスバスターのパッチパターン、最終スキャン月日
を取り出したいのですが、分かりません
できればエクセルに出力できればと思います、

どのようにしたら、取り出せるのか教えていただけますか
よろしくお願いいたします。
・ツリー全体表示

【78976】最前面
質問  にゃんた  - 17/4/3(月) 12:43 -

引用なし
パスワード
   batでエクセルを起動してますが、色々調べても、
どうしても最前面に表示されません
office2016 win7です

大変お手数をかけますが、ご教授いただければと思います。
・ツリー全体表示

【78975】Re:別ウィンドウのワークシート間コピー
回答  γ  - 17/4/3(月) 7:13 -

引用なし
パスワード
   SheetB.Range(SheetB.Cells(1, 1), SheetB.Cells(4, 4)) = OutData
とするのではないでしょうか。

SheetB.Range(Cells(1, 1), Cells(4, 4)) = OutData
だと、中のCellsによるセル指定は、
コード実行中のExcelのアクティブワークブックの
アクティブワークシートが前提とされてしまうからです。
・ツリー全体表示

【78974】別ウィンドウのワークシート間コピー
質問  エリエール  - 17/4/3(月) 3:16 -

引用なし
パスワード
    別ウィンドウのワークシート間コピーをしようと下記のコードを
書きましたが、エラーと書き直しの繰り返しで分からなくなり質問させて
いただきました。どなたかご教授下さいませ。

 目的:シートAのデータ(1,007行×7列の数値)を別ウィンドウで既に開かれて
いるシートBにコピーすることです。
シートAとシートBを別ウィンドウにした理由は、シートAのデータはOntimeで1秒間隔でデータを記録していますが、そのデータを元に他の場所でデータ加工するときにセルが入力状態にあるとOntimeで行っている記録が止まってしまうからです。

 コード:実際のデータ数より少なくしています。

Sub WriteData() 'イベントはSheetAのボタンを押します

Dim OutData As Variant 'データ格納用の変数です

Dim App As Object
Dim SheetA As Worksheet
Dim SheetB As Worksheet

Set SheetA = ActiveSheet

OutData = SheetA.Range(Cells(1, 1), Cells(4, 4))

Set App = GetObject("C:\Users\SheetB.xlsm")
Set SheetB = App.Worksheets("Data")

SheetB.Activate

SheetB.Range(Cells(1, 1), Cells(4, 4)) = OutData

SheetA.Activate

End Sub

環境等:Excel2010を使用しています。
    VBA初級者です。

よろしくお願いします。
・ツリー全体表示

【78973】Re:抽出の一種かと思いますが、ご質問で...
発言  β  - 17/3/31(金) 13:08 -

引用なし
パスワード
   ▼素人事務員 さん:

>マクロを登録しているテキストボックス

テキストボックスですか?
ボタンやCommandButtonではなく?

で、この図形はフォームコントトールですか?
ActiveX ですか?

表示場所は別の場所ですか、元の場所ですか?

データが5行目からあるようですが 4行目はどうなっていますか?
・ツリー全体表示

【78972】抽出の一種かと思いますが、ご質問です。
質問  素人事務員  - 17/3/31(金) 11:29 -

引用なし
パスワード
   A列に数値を記入しています。(A9〜A500まで)

A4に「7」と入力した後に、マクロを登録しているテキストボックス(以下『検索ボタン』と言います。)をクリックすると、9行から500行の内、A列の数値が7以上の行のみを表示するようにしたいです。
また、A4に「10」と入力した後に同検索ボタンをクリックすれば、9行から500行の内、A列の数値が10以上の行のみを表示する、といったA4に記入する数値によって結果を変更できるようにしたいです。

お知恵を拝借頂きたくお願い申し上げます。
・ツリー全体表示

【78971】Re:左端の列番号
お礼  トキノハジメ  - 17/3/27(月) 20:10 -

引用なし
パスワード
   ▼マナ さん:
返事遅くなりすみません。

上手く治りました。有難うございました。

今後とも、宜しくお願い致します。
・ツリー全体表示

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