Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Excel 2007)
ユーザプログラムのはじめ
投稿日時: 20/10/09 11:30:20
投稿者: katokatoy

VBA の勉強として、経験者の事例を参考にしてユーザフォームを作ってみました。
うまく表示してくれました。いろいろコントロールを追加して挑戦してます。
ところで、いま「○○○はじめプロ」というブック名で挑戦しています。しかし、途中で違う別の EXCEL ファイルを実行しようとするとできません。
VBA プログラムの中に、なにか宣言をしなければ別のEXCELプログラムを同時に起動できないのでしょうか。
御教示方、よろしくお願いいたします。

回答
投稿日時: 20/10/09 12:48:07
投稿者: WinArrow
投稿者のウェブサイトに移動

>しかし、途中で違う別の EXCEL ファイルを実行しようとするとできません。
>VBA プログラムの中に、なにか宣言をしなければ別のEXCELプログラムを同時に起動できないのでしょうか。
 
どのようなコードを記述したのか?
を掲示して、添削してもらいましょう。

回答
投稿日時: 20/10/09 14:56:48
投稿者: simple

トライの状況を書いていただきたいのは同感です。
  
ちょっと興味があって調べて見ました。(単なる検索ですけどね)
  
基本は、ここのサイトの「即効テクニック」の記事が参考になります。
「他のブックにあるマクロを実行する」
https://www.moug.net/tech/exvba/0010018.html
  
ただし、実行時エラーが出るようなので、下記の記事にしたがって、
ブック名をシングルクォートで囲むと通りました。
http://vba.doorblog.jp/archives/51345338.html
(ブック名にスペース文字などを含む場合は上記の対応が必要なようです)
  
ご参考まで。

投稿日時: 20/10/09 21:33:20
投稿者: katokatoy

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    F_Inbox.Show
     
End Sub
 
Sheet1をダブルクリックするイベントです。
 
ユーザーフォームの F_Inbox のテキストボックス入力時に、べつのファイルを見たくなりました。

回答
投稿日時: 20/10/10 06:49:35
投稿者: simple

> しかし、途中で違う別の EXCEL ファイルを実行しようとするとできません。
提示されたコードには、別のファイルを実行しようとしているようには見えませんが、
その部分をきちんと提示してください。

投稿日時: 20/10/10 08:07:27
投稿者: katokatoy

言葉足らずでもうしわけありません。F_Inbox を開いたプリントスクリーンを貼りつけたかったのですが、できませんでした。
@F_Inbox に現在3個のテキストボックスがあります。コマンドボックスが1つあります。
Aコマンドを押すと、テキスト-@ と テキスト-Aを使って、ある計算をさせるプログラムです。
B試行チェックするときに、別のEXCEL のシートを開いて、併記表示しながら、結果のチェックをしようと考えました。 通常のEXCEL 操作の、EXCEL_1 EXCEL_2 のシートを上下あるいは、左右に部分表示させるようにです。
 
CF_Inbox はまだ小さなユーザーフォームです。空いている画面のスペースを有効に活用したいと考えました。

回答
投稿日時: 20/10/10 09:08:55
投稿者: simple

すみませんが、こちらで申し上げていることわかりますか?
他のブックを開くのはどのようなコードでトライしたのですか? 
と聞いているのです。きちんと回答してください。
 
開いた後の画面を知りたいわけではないです。
 
待っていても埒が明かないので、考え方をメモして、私はこれまでとします。
・他のブックを開く操作はコードにできますね。
 
・それをユーザーフォームを開いたときの自動実行プロシージャ(Initializeイベントプロシージャ)に
  書いたらどうですか。
 (必須でなければ、何かのコマンドボタンに割り当てておいて、
   必要なときだけ実行する手もあるでしょう。)
 
・また、その別ファイルを手で操作して、位置調整や、スクロール等したいのであれば、
  ユーザーフォームを開くときに、モードレスで開く必要があります。
      F_Inbox.Show vbModeless
  こうしておかないと、ブックを手動操作することはできません。
   
ステップを踏んで作って行って下さい。

投稿日時: 20/10/10 11:33:44
投稿者: katokatoy

・また、その別ファイルを手で操作して、位置調整や、スクロール等したいのであれば、
  ユーザーフォームを開くときに、モードレスで開く必要があります。
      F_Inbox.Show vbModeless
  こうしておかないと、ブックを手動操作することはできません。
 
 回答していただいてる方々の内容は、十分呑みこめていなくて申し訳ありません。
しかし、simple さんからの上記の対応で 自分がやりたかったことができました。ありがとうございました。
 
まだまだ、初心者ですが、がんばります。