過去ログ

                                Page     101
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼Activesheetだけを新規BOOKに別名で保存  123 02/9/13(金) 19:01
   ┗Re:Activesheetだけを新規BOOKに別名で保存  ichinose 02/9/14(土) 11:01
      ┗Re:Activesheetだけを新規BOOKに別名で保存  123 02/9/17(火) 14:20
         ┗Re:Activesheetだけを新規BOOKに別名で保存  ichinose 02/9/17(火) 18:37
            ┗Re:Activesheetだけを新規BOOKに別名で保存  123 02/9/18(水) 10:27
               ┗シートの非表示って・・・  ichinose 02/9/18(水) 12:55
                  ┗Re:シートの非表示って・・・  123 02/9/18(水) 13:06
                     ┗Re:シートの非表示って・・・  ichinose 02/9/18(水) 21:24
                        ┗コメント間違いの訂正です  123 02/9/18(水) 22:11
                           ┗ひょっとして・・・  ichinose 02/9/18(水) 22:26
                              ┗感謝、感謝  123 02/9/19(木) 20:46

 ───────────────────────────────────────
 ■題名 : Activesheetだけを新規BOOKに別名で保存
 ■名前 : 123
 ■日付 : 02/9/13(金) 19:01
 -------------------------------------------------------------------------
   ユーザーフォームを使ってデータを作成し、
その作成したActivesheetだけを 別名で新規BOOKとして
保存したいのです。
また、
ユーザーフォームを使って 沢山のBookから
目的のBOOKを立上げ、ユーザーフォームを使って
データの修正を行いたいのです。
また、
ユーザーフォームは どの(開いた)ActiveWorkbook にも使えるように
したいのです。(つまりユーザーフォームが独立しているイメージです)

可能でしょうか。
 ───────────────────────────────────────  ■題名 : Re:Activesheetだけを新規BOOKに別名で保存  ■名前 : ichinose  ■日付 : 02/9/14(土) 11:01  -------------------------------------------------------------------------
   ▼123 さん:
こんにちは。
>ユーザーフォームを使ってデータを作成し、
>その作成したActivesheetだけを 別名で新規BOOKとして
>保存したいのです。
これは、こんな感じでどうでしょうか?
'=======================
Sub test()
  Dim bk As Workbook
  Dim retcode As Long
  retcode = mkbk_from_sht(ActiveSheet, bk, "D:\My Documents\TESTエリア\test.xls")
  If retcode <> 0 Then
    MsgBox Error$(retcode)
  Else
    MsgBox bk.Name
    End If
End Sub
'=============================================
Function mkbk_from_sht(sht As Worksheet, bk As Workbook, flnm As String) As Long
  On Error Resume Next
  sht.Copy
  Set bk = ActiveWorkbook
  bk.SaveAs Filename:=flnm
  mkbk_from_sht = Err.Number
  On Error GoTo 0
End Function


>また、
>ユーザーフォームを使って 沢山のBookから
>目的のBOOKを立上げ、ユーザーフォームを使って
>データの修正を行いたいのです。
>また、
>ユーザーフォームは どの(開いた)ActiveWorkbook にも使えるように
>したいのです。(つまりユーザーフォームが独立しているイメージです)
>
>可能でしょうか。
可能だと思いますが、具体的な例がありませんか?
 ───────────────────────────────────────  ■題名 : Re:Activesheetだけを新規BOOKに別名で保存  ■名前 : 123  ■日付 : 02/9/17(火) 14:20  -------------------------------------------------------------------------
   ▼ichinose さん こんにちは。

これまで 皆さんのおかげで、個人データ入力フォームで、
データを入力するものを作ることが出来ました。
(毎月個人の残業時間等のデータ10項目以上を入力するもの)

会社側の新たな要求で、8月分のデータを入力し終えたら
「2002_8月分.xls」というWorkbookで保存し、9月分は
新たに「2002_9月分.xls」というWorkbookを作るとうものです。

作成したユーザーフォームを各事業所へ配布し、各事業所毎に
データを入力しなければなりません。
今後、必要に応じてユーザーフォームを修正していくことになると
思いますので、ユーザーフォームがデータの入力されるWorkbookとは
別に独立しているものでなくてはなりません。
とまあ こんな感じなのです。

漠然として分かりにくいですよね。

Activesheetだけを 別名で新規BOOKとして
保存したい件は 大変ありがとうございました。
後半の方は、もう少し自分なりにやってみます。

ひとつだけ、関連で教えていただきたいのですが、
ユーザーフォームのあるBookのsheetを全て非表示に
したいのですが、どうしてもできません。
以下のように、
そのBookを開くと
「ファイルを開く」というフォームを開くようにしています。

ThisWorkbook
Sub フォーム表示()
ファイルを開く.Show
End Sub

Module1
Private Sub Workbook_Open()
フォーム表示
End Sub

この「ファイルを開く」というフォームのバックにあるsheetを
非表示にしたいのですが、どうしても最後の1枚が非表示にできません。
非表示はBookを開いたときに行いたいのですが、
どのようにしたらよいのでしょうか。
 ───────────────────────────────────────  ■題名 : Re:Activesheetだけを新規BOOKに別名で保存  ■名前 : ichinose  ■日付 : 02/9/17(火) 18:37  -------------------------------------------------------------------------
   ▼123 さん:
こんにちは。

>ThisWorkbook
Mudule1
>Sub フォーム表示()
load ファイルを開く
Thisworkbook.Windows(1).Visible=false
>ファイルを開く.Show
Thisworkbook.Windows(1).Visible=true
>End Sub
としてはどうでしょうか?

>Module1
Thisworkbook
ですよね
>Private Sub Workbook_Open()
>フォーム表示
>End Sub

>この「ファイルを開く」というフォームのバックにあるsheetを
>非表示にしたいのですが、どうしても最後の1枚が非表示にできません。
>どのようにしたらよいのでしょうか。
シート全部の非表示はできないと思いますよ。
 ───────────────────────────────────────  ■題名 : Re:Activesheetだけを新規BOOKに別名で保存  ■名前 : 123  ■日付 : 02/9/18(水) 10:27  -------------------------------------------------------------------------
   ▼ichinose さん:
こんにちは。

度々すみません。

Module1とThisworkbookを逆にしていました。

それと
Module1に以下を記述しましたが、Bookを開くと、
Sheetが開いて、閉じて、フォームが表示されます。
ThisWorkbook.Windows(1).Visible = False
の部分は不要でしょうか。

=======================================
Sub フォーム表示()

Load ファイルを開く
ThisWorkbook.Windows(1).Visible = False
ファイルを開く.Show
ThisWorkbook.Windows(1).Visible = True

End Sub
=======================================

>>この「ファイルを開く」というフォームのバックにあるsheetを
>>非表示にしたいのですが、どうしても最後の1枚が非表示にできません。
>>どのようにしたらよいのでしょうか。
>シート全部の非表示はできないと思いますよ。

やはりできませんか。
残念残念
 ───────────────────────────────────────  ■題名 : シートの非表示って・・・  ■名前 : ichinose  ■日付 : 02/9/18(水) 12:55  -------------------------------------------------------------------------
   ▼123 さん:
こんにちは。


>Sheetが開いて、閉じて、フォームが表示されます。
そのつもり紹介させていただいたんですが、
そもそも全てのシートを非表示にした時って、どのような画面を想定されているんですか?
>ThisWorkbook.Windows(1).Visible = False
>の部分は不要でしょうか。
私は、↑が一番近い状態かなと思ったものですから・・・。
バックにExcelも見えなくするということでしょうか?
>=======================================
>Sub フォーム表示()
>
>Load ファイルを開く
>ThisWorkbook.Windows(1).Visible = False
>ファイルを開く.Show
>ThisWorkbook.Windows(1).Visible = True
>
>End Sub
>=======================================
 ───────────────────────────────────────  ■題名 : Re:シートの非表示って・・・  ■名前 : 123  ■日付 : 02/9/18(水) 13:06  -------------------------------------------------------------------------
   ▼ichinose さん:
こんにちは。

度々ありがとうございます。

>>Sheetが開いて、閉じて、フォームが表示されます。
>そのつもり紹介させていただいたんですが、
>そもそも全てのシートを非表示にした時って、どのような画面を想定されているんですか?
>>ThisWorkbook.Windows(1).Visible = False
>>の部分は不要でしょうか。
>私は、↑が一番近い状態かなと思ったものですから・・・。
>バックにExcelも見えなくするということでしょうか?

分かりにくくてすみません。
Excelは立ち上がっていて、シートが閉じられていて、フォームだけが
表示されている状態が理想なんです。

そのフォームを使い、毎月CSVファイルのデータを入力あるいは更新していく
という感じです。
不可能でしたら、一枚のシートに色をつけてグリッド線を非表示にして
使おうかと思っています。
 ───────────────────────────────────────  ■題名 : Re:シートの非表示って・・・  ■名前 : ichinose  ■日付 : 02/9/18(水) 21:24  -------------------------------------------------------------------------
   ▼123 さん:
こんばんは。
>>>Sheetが開いて、閉じて、フォームが表示されます。
>>そのつもり紹介させていただいたんですが、
>>そもそも全てのシートを非表示にした時って、どのような画面を想定されているんですか?
>>>ThisWorkbook.Windows(1).Visible = False
>>>の部分は不要でしょうか。
>>私は、↑が一番近い状態かなと思ったものですから・・・。
>>バックにExcelも見えなくするということでしょうか?
>
>分かりにくくてすみません。
>Excelは立ち上がっていて、シートが閉じられていて、フォームだけが
>表示されている状態が理想なんです。
一瞬、ブックが見えてしまうのがよくないということでしょうか?
私には、そのくらいしか違いがわからないのですが、
もしそうだとしたら、
http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=one;id=Excel;no=10310
にVbscriptを利用した方法があります。
参考にしてみては?
 ───────────────────────────────────────  ■題名 : コメント間違いの訂正です  ■名前 : 123  ■日付 : 02/9/18(水) 22:11  -------------------------------------------------------------------------
   ▼ichinose さんこんばんは。

以前の私のコメントに間違いがありました。
以下の
>>>>Sheetが開いて、閉じて、フォームが表示されます。
のところですが、Sheetが開いて、閉じて、また開いて、
開いたSheetにフォームが表示されます。だったのです。

ということで、私が不要な部分を記述してしまって
いるのかと思い、お聞きしました。
混乱させてしまってすみませんでした。


>>>>Sheetが開いて、閉じて、フォームが表示されます。
>>>そのつもり紹介させていただいたんですが、
>>>そもそも全てのシートを非表示にした時って、どのような画面を想定されているんですか?
>>>>ThisWorkbook.Windows(1).Visible = False
>>>>の部分は不要でしょうか。
>>>私は、↑が一番近い状態かなと思ったものですから・・・。
>>>バックにExcelも見えなくするということでしょうか?
>>
>>分かりにくくてすみません。
>>Excelは立ち上がっていて、シートが閉じられていて、フォームだけが
>>表示されている状態が理想なんです。
>一瞬、ブックが見えてしまうのがよくないということでしょうか?
>私には、そのくらいしか違いがわからないのですが、
>もしそうだとしたら、
>http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=one;id=Excel;no=10310
>にVbscriptを利用した方法があります。
>参考にしてみては?
 ───────────────────────────────────────  ■題名 : ひょっとして・・・  ■名前 : ichinose  ■日付 : 02/9/18(水) 22:26  -------------------------------------------------------------------------
   ▼123 さん:
こんばんは。

>以前の私のコメントに間違いがありました。
>以下の
>>>>>Sheetが開いて、閉じて、フォームが表示されます。
>のところですが、Sheetが開いて、閉じて、また開いて、
>開いたSheetにフォームが表示されます。だったのです。

ユーザーフォームのShowModalプロパティをfalseに設定していませんか?
モーダレスで表示しているとすれば、そうなりますね。
その場合は、
Thisworkbookモジュール
'====================================================
Private Sub Workbook_Open()
  フォーム表示
End Sub
'標準モジュール
'====================================================
Sub フォーム表示()
  ファイルを開く.Show
End Sub
'フォーム(例では、"ファイルを開く"というユーザーフォーム)モジュール
'================================================================
Private Sub UserForm_Initialize()
  ThisWorkbook.Windows(1).Visible = False
End Sub
'==============================================================
Private Sub UserForm_Terminate()
  ThisWorkbook.Windows(1).Visible = True
End Sub
'===============================================================
尚、この例では、このコードを記述してあるブックのみを非表示にしています。
他にブックが開いていて、それも非表示にするは場合は、追加処理が必要です。
 ───────────────────────────────────────  ■題名 : 感謝、感謝  ■名前 : 123  ■日付 : 02/9/19(木) 20:46  -------------------------------------------------------------------------
   ▼ichinose さん:
こんばんは。

出来ました。出来ました。理想のものが出来ました。
お付き合いいただきまして、本当にありがとうございました。
ichinoseさんの書かれたもの そのまま記述しました。
(モードレスにはなっていませんでした)

本当にうれしいです。

今後とも宜しくお願いいたします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 101