Excel VBA質問箱 IV

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

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


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

【80202】VBAでwaveOutWrite関数を使う方法を教え...
質問  ななみつき  - 18/10/23(火) 14:39 -

引用なし
パスワード
   リアルタイムで音を変化させるプログラムを作っているのですが、その際にバッファ内の波形を途切れないように再生させるためwinmm.lib内にあるwaveOutWrite関数を利用したいです。どのようなコードを書けばいいのでしょうか。丸投げになってしまい本当に申し訳ないのですが音を再生するまでのサンプルコードを教えていただけると幸いです...

      
・ツリー全体表示

【80201】Re:Excel VBA (PowerPointの制御)の質問
発言  マナ  - 18/10/21(日) 10:05 -

引用なし
パスワード
   ▼semama さん:

>デバッグしながらのステップ実行では正常に動きます。
>また、10回に1〜2回は通常実行でも正常に動きます。


powerpointは、全くわかりませんが

doevents
application.wait
application.screenupdating

とかで改善しませんか?
・ツリー全体表示

【80200】Excel VBA (PowerPointの制御)の質問
質問  semama E-MAIL  - 18/10/20(土) 11:57 -

引用なし
パスワード
   Excel VBA (PowerPointの制御)の質問です。

ExcelのグラフをPowerpointに自動で貼り付けて、テキストなども更新していくマクロを作成中です。

VBAで一番厄介なオートメーションエラーで悩んでいます。

グラフにしてもテキストボックスにしても配置を変えようとすると、
かなり頻繁にオートメーションエラーが起きます。
デバッグしながらのステップ実行では正常に動きます。
また、10回に1〜2回は通常実行でも正常に動きます。

エラーが起きる場所も同じではありません。
ですが、オブジェクトを下記のように配置するロジックで落ちてしまうようです。
同じオブジェクトで起きるわけではなく、色々です。

ppSld.Shapes("obje1").Left=100
ppSld.Shapes("obje1").width=100

何か回避策がわかるかたおられますでしょうか?
VersionはOffice2016です。

宜しくお願いします。

共感した 0
・ツリー全体表示

【80199】Re:64版excelのvbaでunlha32を使う
お礼  吉永  - 18/10/19(金) 11:09 -

引用なし
パスワード
   ▼よろずや さん:
>unlha32は32ビット版ですので、64ビット版を探しても見つからないということです。
>
>尚、64ビット版Officeは、Microsoftが推奨していません。
>32ビット版Officeを使いましょう。
分かりました。そうします。ありがとうございました。
・ツリー全体表示

【80198】Re:VBAでのダウンロード
回答  吉永  - 18/10/19(金) 11:06 -

引用なし
パスワード
   ▼よろずや さん:
>手動でログオフ直後に、他のPCから手動ログインは可能なのですか?
ありがとうございます。
はい、ログインはどちらも可能です。他方のDownloadだけがログイン状態の情報が得られない。
・ツリー全体表示

【80197】Re:VBAでのダウンロード
発言  よろずや  - 18/10/19(金) 8:49 -

引用なし
パスワード
   手動でログオフ直後に、他のPCから手動ログインは可能なのですか?
・ツリー全体表示

【80196】Re:64版excelのvbaでunlha32を使う
発言  よろずや  - 18/10/19(金) 8:46 -

引用なし
パスワード
   unlha32は32ビット版ですので、64ビット版を探しても見つからないということです。

尚、64ビット版Officeは、Microsoftが推奨していません。
32ビット版Officeを使いましょう。
・ツリー全体表示

【80195】64版excelのvbaでunlha32を使う
質問  吉永  - 18/10/18(木) 23:38 -

引用なし
パスワード
   64ビット版Excelのvbaでunlha32.dllを使おうとすると
 実行時エラー'53' ファイルが見つかりません。UNLHA.DLL
と表示されます。
64ビットexcelでUNLHAが使えないのか、あるいはUNLHA.DLLを保存しているFolderが違うのか、いろいろ調べましたが解決策が見つかりません。
どなたかアドバイスをお願いします。
・ツリー全体表示

【80194】VBAでのダウンロード
質問  吉永  - 18/10/17(水) 14:23 -

引用なし
パスワード
   あるサイトのアカウント/パスワードを所持し、2台のPCで運用しています。
ログインの同時利用は不可ですが、どちらでもログインできる。
ダウンロード用のAPIのURLDownloadToFileを使ってサイトのログインした状態の情報を一方のPCでダウンロードし、正常に取得できた。ログオフして、他方のPCでログインし同様にダウンロードしたところ、ログイン状態の情報は取得できなかった。原因は何が考えられるか、投稿しました。何はアドバイスいただけたら幸いです。
・ツリー全体表示

【80193】Re:コードの最適化(取得したセル値をヘッ...
お礼  閣下  - 18/10/16(火) 9:05 -

引用なし
パスワード
   ▼マナ さん:

盲点でした。ありがとうございます。
印刷する時しかページ番号振る意味がないのでそれで十分ですね
・ツリー全体表示

【80192】Re:コードの最適化(取得したセル値をヘッ...
発言  マナ  - 18/10/15(月) 21:40 -

引用なし
パスワード
   ▼閣下 さん:

>作成するドキュメント数が多い時、EXCELのページ レイアウトタブ→ページ設定→ダイアログボックス起動ツールから先頭ページ番号をちまちま入れるのが手間で、テンプレートとしてマクロを組み込めないかと考えた次第です。

印刷する時に、全シートを選択状態にすれば、
ページ番号は、お望みの結果になると思います
・ツリー全体表示

【80191】Re:コードの最適化(取得したセル値をヘッ...
質問  閣下  - 18/10/15(月) 21:14 -

引用なし
パスワード
   ▼マナ さん:
すみません、説明が不十分でした。
シートごとに最低1ページ以上のページがある想定で、ブック内のすべての
ワークシート ページに連続した番号を付けるのが目的です。


シートa:1ページ
シートb:2ページ
シートc:3ページ
シートd:2ページ

であれば、各シートのヘッダに
シートa:(1/8)
シートb:(2/8)、(2/3)
シートc:(4/8)、(5/8)、(6/8)
シートd:(7/8)、(8/8)

と入ります。

作成するドキュメント数が多い時、EXCELのページ レイアウトタブ→ページ設定→ダイアログボックス起動ツールから先頭ページ番号をちまちま入れるのが手間で、テンプレートとしてマクロを組み込めないかと考えた次第です。
・ツリー全体表示

【80190】Re:コードの最適化(取得したセル値をヘッ...
発言  マナ  - 18/10/15(月) 19:01 -

引用なし
パスワード
   ▼閣下 さん:

>・ブック全体でページ番号/総ページ数を右上に入れる
>  Cnt = ActiveWorkbook.Worksheets.Count
>      .RightHeader = "(" & n & "/" & Cnt & ")"

総ページ数=シート数??
すべてのシートで1ページしかないということですか。

そうであれば、

>ファイルを閉じる時に

ではなく、印刷する時に、対象シートのみに実行するのがよいのでは?


 
・ツリー全体表示

【80189】Re:マクロ初心者で、初歩的な質問です。
お礼  usimaru  - 18/10/15(月) 16:27 -

引用なし
パスワード
   ▼マナ さん:
>▼usimaru さん:
>
>Columns("F").AutoFilter Field:=1, Criteria1:=Range("F2").Value
>
>これでてきませんか
>
エラー無く、無事作成出来ました!

ご回答頂き、ありがとうございました。
>
・ツリー全体表示

【80188】Re:マクロ初心者で、初歩的な質問です。
発言  よろずや  - 18/10/15(月) 14:04 -

引用なし
パスワード
   ▼usimaru さん:
>Range("F2").AutoFilter Field:=6, Criteria1:=Range("F2").Value
>
>※フィルター条件は、F2データを元に左から6列目の同様のデータ(あいうえお)抽出したいのですが。

テーブルの範囲はどうなってますか?
A1〜F1に見出し、A2〜F2以降にデータがあるなら、間違ってはいません。
・ツリー全体表示

【80187】コードの最適化(取得したセル値をヘッダ...
質問  閣下  - 18/10/15(月) 13:06 -

引用なし
パスワード
   はじめまして。

ファイルを閉じる時に
・指定したシートのあるセルの内容を、ヘッダーの左上に入れる
・ブック全体でページ番号/総ページ数を右上に入れる

マクロを作成し、動くことは動くのですがファイルを閉じる際に若干もっさりします。
2つの処理をまとめればもう少し軽くなるのかなと思いつつ弄っていますが、うまくいきません。申し訳ありませんが最適化したコードの例をご教示いただけますでしょうか。

'ファイルclose時に以下の処理をする
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Dim s As Worksheet
  For Each s In ThisWorkbook.Sheets
    '左上ヘッダーにaaシートB3セルの値を表示
    With s.PageSetup
      .LeftHeader = Worksheets("aa").Range("B3").Value
    End With
  Next

  '右上ヘッダーに"ドキュメント全体でのページNo/総ページ数"を表示
  Dim Cnt As Integer
  Dim n  As Integer
  Cnt = ActiveWorkbook.Worksheets.Count
  
  For n = 1 To Cnt
    With Worksheets(n).PageSetup
      .RightHeader = "(" & n & "/" & Cnt & ")"
      .FirstPageNumber = 1
    End With
  Next n
End Sub
・ツリー全体表示

【80186】Re:マクロ初心者で、初歩的な質問です。
発言  マナ  - 18/10/15(月) 12:48 -

引用なし
パスワード
   ▼usimaru さん:

Columns("F").AutoFilter Field:=1, Criteria1:=Range("F2").Value

これでてきませんか



・ツリー全体表示

【80185】マクロ初心者で、初歩的な質問です。
質問  usimaru  - 18/10/15(月) 0:58 -

引用なし
パスワード
   分からないので質問させてください。

F2セルに入力されてるデータ 例)あいうえお と入力されているとします。
それを元にオートフィルターを実行したいのですが、以下は何が間違っているのでしょうか。


Range("F2").AutoFilter Field:=6, Criteria1:=Range("F2").Value

※フィルター条件は、F2データを元に左から6列目の同様のデータ(あいうえお)抽出したいのですが。

ご教示いただけないでしょうか。
・ツリー全体表示

【80184】Re:文字数が2以上のセルを左上揃え、2未...
お礼  困り人  - 18/10/13(土) 17:18 -

引用なし
パスワード
   ▼γ さん:

わかりました。ありがとうございます!
>速度については、必要な属性だけに限定するとかでしょうか?
>
>あと考えるべきは、実行のタイミングでしょう。
>入力が終わったあとで一括して処理すればいいのか、
>リアルタイムに変更させたいかですね。
>後者なら、Excel付属の条件付き書式が本来的な対応ですね。
・ツリー全体表示

【80183】Re:文字数が2以上のセルを左上揃え、2未...
発言  γ  - 18/10/13(土) 17:08 -

引用なし
パスワード
   速度については、必要な属性だけに限定するとかでしょうか?

あと考えるべきは、実行のタイミングでしょう。
入力が終わったあとで一括して処理すればいいのか、
リアルタイムに変更させたいかですね。
後者なら、Excel付属の条件付き書式が本来的な対応ですね。
・ツリー全体表示

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