[[20100330160613]] 『ユーザーフォームに別のブックを表示し、コピーしたい』(S TO Z) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ユーザーフォームに別のブックを表示し、コピーしたい』(S TO Z)

質問です

@シート上のボタンを押すとユーザーフォームが開き、別のブックのシートが表示される(切替タブも表示)

A手動でシート上の任意のセル範囲を選択しコピー,ユーザーフォーム上のシートへコピー

このようなことができますか?


 ユーザーフォームをモーダルで開くと、閉じるまでシートの操作が
 出来ないので、モードレスで開き、
 別ブック(閉じていたら開く)のシートを表示します。
 ユーザーフォーム上のシートとは何のことでしょうか。
 (semm)


ユーザーフォーム上のシート = ユーザーフォームに表示されてる別ブックのシート

ということです。

いろいろ書きましたが、つまりはユーザーフォームに別ブックのシートを表示したいということです。


 ユーザーフォームが作れているのでしたら
 VBEのツール その他のコントロールで
 Microsoft Office Spreadsheet (バージョンあり)にチェックを入れると
 ツールボックスに表示されるのでそれを配置してみてください。
 細かいプロパティやメソッドは色々調べれば解ると思いますので。
 (momo)


ありがとうございました、やってみます。(S TO Z)

Office2007を使ってるのですが、調べたらMicrosoft Office Spreadsheetが
なくなっていて、追加することができません。

なにかいい手段はないでしょうか?


 そうですかぁ
 あとは、思いつくのはWebBrowserコントロールを使って
 Navigate で表示させるとか・・・

 Me.WebBrowser1.Navigate "D:\Test.xls"

 (momo)

Me.WebBrowser1.Navigateを早速やってみたのですが、

ブラウザに表示されません。確認フォームがでてきて開くボタンをおすと別表示でブックがひらくのですが

ブラウザには「Webページへのナビゲーションは取り消されました アドレスを再入力する」とでてくるだけで開きません。

なにかやり方があるのでしょうか?


 既にご覧になっておられるかもしれませんが、ご参考に。。。

 WebBrowser コントロールを使用して Office ドキュメントを開く方法 
http://support.microsoft.com/kb/243058/ja

 (HANA)

 >ブラウザに表示されません。確認フォームがでてきて開くボタンをおすと別表示でブックがひらくのですが 

 新規ブックの標準モジュールに

 '=========================================================
 Sub test()
    With CreateObject("shell.application")
       .Explore 17
    End With
 End Sub

 これでマイコンピュータが開きましたか?

 このマイコンピュータの

 「ツール」-----「フォルダオプション」とクリックし、フォルダオプション ダイアログを表示させてください。

 ファイルタイプ タブをクリックしてください。ファイルタイプ一覧の中から、

 「Microsoft Excel ワークシート」を選択してください。
 拡張子 XLSの詳細 で詳細設定をクリックします。

 ファイルタイプの編集 ダイアログが表示されます。

 同じウインドウで開く にチェックを入れてください。
 ダウンロード後に開く確認をする のチェックははずしてください。

 これでOKをクリックしてフォルダオプションも閉じてください。

 これは、Win2000の場合ですが、同じような設定が他のバージョンでもあると思います。

 この設定後、

 ユーザーフォームにWebbrowserを貼り付けて、試してみてください。

 Webbrowserを貼りつけたユーザーフォームをUserform1だとすると、このモジュールに

 Option Explicit
 Private Sub UserForm_Initialize()
    Workbooks.Open ThisWorkbook.Path & "\book1.xls"
    With WebBrowser1
        .Navigate2 ThisWorkbook.Path & "\book1.xls"
    End With
 End Sub
 '==========================================================================
 Private Sub UserForm_Terminate()
    Workbooks("book1.xls").Close False
    With CreateObject("excel.application")
       .Visible = True
       .Wait Now() + TimeValue("00:00:01")
       .Quit
    End With
    Application.Visible = True
    ThisWorkbook.Activate
 End Sub

 標準モジュールに

 '==========================================
 sub test()
    userform1.show
 end sub

 これで testを実行してみてください。

 尚、上記コードは、上記VBAコードを配置したブック(仮に Sample.xls)とユーザーフォームに
 表示するブックbook1.xlsは、同じフォルダ上にあるものとします。

 ただ、動作は随所に不安定さがありました。

 こんな操作で
 >ブラウザに表示されません
 が解消されましたが、一度試してみてください。

 Win2000&Excel2002で試しました。

 ichinose


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.