プロが教える店舗&オフィスのセキュリティ対策術

表示するSheetを変えるボタンを作っています。宜しくお願いします。

ファイル(1)のSheet1~Sheet5 と Sheet7 のそれぞれのシートにSheet6へ行くボタンを作っています。
「WorkSheets("Sheet6").Activate」でしています。
で、Sheet6には戻るボタンを作りたいのですが、どこのシートから来たのかを認識して、該当シートへ戻るようにしたいのですがどのようにしたらよいでしょうか?(シート6へ行くボタンを押したシートに戻る)

更に、同様の処理が、WorkBook間でも処理ができるようにしたいのです。
ここは、「WorkBooks(ファイル(2).Xls)WorkSheets(”Sheet1”).Activate」をファイル(1)の各シートに書いて処理させています。ここから戻るボタンの方法もお願いします。

宜しくお願いします。

A 回答 (5件)

移動先のシートの見えないセルに、どこから呼ばれたか書いておいたらどうでしょうか?(WorkBook名とシート名)

この回答への補足

すみません!まだまだ初心者なので、どこからどうしたら呼ばれたかを書く方法が分かりません。よろしかったら、詳しくお願いできませんか?

補足日時:2001/06/15 20:53
    • good
    • 0

こんにちは



 以下のページがご参考になるのでは?

【エクセル技道場】-ツールバー-マクロでツールバー作成
http://www2.odn.ne.jp/excel/waza/toolbar.html#SE …

参考URL:http://www2.odn.ne.jp/excel/waza/toolbar.html#SE …
    • good
    • 0

>ファイル(1)のSheet1~Sheet5 と Sheet7 のそれぞれのシートにSheet6へ行くボタンを作っています。


>「WorkSheets("Sheet6").Activate」でしています。
>で、Sheet6には戻るボタンを作りたいのですが、どこのシートから来たのかを認識して、該当シートへ戻るように
>したいのですがどのようにしたらよいでしょうか?(シート6へ行くボタンを押したシートに戻る)

考え方だけ説明の為に書きましたので、きたない書き方になってます。

■Sheet1(シート6に移動する)

Private Sub CommandButton1_Click()

Sheets("Sheet6").Select
Sheets("Sheet6").Cells(1, 1).Value = "Sheet1" ←実際にはCells(1, 1)にワークの情報を書いたら邪魔
                             になるので、邪魔にならない場所に書く

End Sub



■Sheet2(シート6に移動する)

Private Sub CommandButton1_Click()

Sheets("Sheet6").Select
Sheets("Sheet6").Cells(1, 1).Value = "Sheet2" ←実際にはCells(1, 1)にワークの情報を書いたら邪魔
                             になるので、邪魔にならない場所に書く

End Sub

■Sheet3~5も同様

■Sheet6 (呼ばれたシートに戻る所)

Private Sub CommandButton1_Click()

Sheets(Cells(1, 1).Value).Select

End Sub

>更に、同様の処理が、WorkBook間でも処理ができるようにしたいのです。
>ここは、「WorkBooks(ファイル(2).Xls)WorkSheets(”Sheet1”).Activate」をファイル(1)の各シート
>に書いて処理させています。ここから戻るボタンの方法もお願いします。

上記と同じ考え方で、ファイル名のセルを追加します。
試しに、確認用のマクロを書いて見たら1回目はうまく動きましたが、2回目以降は、既に開いているEXCELシート
をまた、開きに行くので確認メッセージが出てしまいました。(出さない為の指定方法とか有るかもしれないが調べていません、分からないようでした質問してください。その時調べます。)
この問題は、別問題なので取りあえず参考にして下さい。

この回答への補足

ありがとうございます。うまくいきました。
>2回目以降は、既に開いているEXCELシートをまた、開きに行くので確認メッセージが出てしまいました。
については、もう少しじっくり考えてみます。

補足日時:2001/06/17 02:54
    • good
    • 0

移動Book1.xls(シート1~7)、移動Book2.xls で書きました。

ファイル名は変更してください。

'シート1~5、7にはボタン2個。各シートのコードウインドウに貼り付けます。
Private Sub cmdJump6_Click() 'シート6に行くボタン
Workbooks("移動Book1.xls").fukkiSheetNo = Right(Me.Name, 1)
Worksheets("Sheet6").Activate
End Sub

Private Sub cmdJumpBook2_Click() 'ブック2に行くボタン
Workbooks("移動Book1.xls").fukkiSheetNo = Right(Me.Name, 1)
Workbooks("移動Book2.xls").Worksheets("Sheet1").Activate
End Sub

'シート6はボタン1個。シートのコードウインドウに貼り付けます。
Private Sub cmdFukki_Click() '元のシートに復帰するボタン
Dim jmpNo As Integer '復帰するシート番号
jmpNo = Workbooks("移動Book1.xls").fukkiSheetNo
Worksheets("Sheet" & jmpNo).Activate
End Sub

'ThisWorkbookのコードウインドウに貼り付けます。これをBook2から参照する。
Public fukkiSheetNo As Integer '復帰するシート番号

'ブック2のシート1のコードウインドウに貼り付けます。
Private Sub cmdJumpBook1_Click()
Dim jmpNo As Integer '復帰するシート番号
jmpNo = Workbooks("移動Book1.xls").fukkiSheetNo
Workbooks("移動Book1.xls").Worksheets("Sheet" & jmpNo).Activate
End Sub

この回答への補足

ありがとうございます。

早速試してみましたが、
   Workbooks("移動Book1.xls").fukkiSheetNo = Right(Me.Name, 1)
でのところで止まります。

  ”オブジェクトは、このプロパティまたはメソッドをサポートしていません。”

と出ます。なぜでしょう????????

ファイル名は、自分のものに変えました。よろしくお願いします。

補足日時:2001/06/17 03:03
    • good
    • 0

Public fukkiSheetNo As Integer '復帰するシート番号


を標準モジュールに書いていませんか?
以前の終了ボタンと同じで、ThisWorkbookのコードウインドウに貼り付けます。2つのブックの開き方も終了ボタンの時と同じです。終了ボタンがうまくいっていればこれも同じ理屈ですが・・・
    • good
    • 0
この回答へのお礼

すみませんでした!ファイル名をタイプしていました。本当にすみません!お恥かしい次第です。

ばっっっっりちOKです。

ありがとうございました。

お礼日時:2001/06/18 22:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!