OSはWindowsNT、Excel97です。
PC素人の営業さんが使う見積書の作成をしています。
そこで質問です。
コマンドボタンで保存ボタンを作成し、それを押すと「名前をつけて選択」画面が開き、保存先として決まったのフォルダが選択されている状態になっているという事は出来るでしょうか?(要するにフォルダを探す手間を省きたいのです)
保存操作の流れとして、保存コマンドボタンを押す→ファイル名を入れる→保存を押すとしたいのです。
宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんな感じでしょうか。

コントロールツールボックスのコマンドボタンを使っています。
他Bookの関係が分からないのでExcelの終了はしていません。
終了ボタンのあるシートのコードウインドウに貼り付けます。ご参考に。(Excel2000です。97も問題ないと思います)

Private Sub CommandButton1_Click()
  Const userPath = "D:\0001\・・・・・" '*** ここでドライブとフォルダを指定する ***

  Dim myFileName As Variant '保存するファイル名

  ChDrive userPath 'ドライブ変更
  ChDir userPath 'フォルダの変更
  With Application
    'ファイル名を入力
    myFileName = .GetSaveAsFilename(ActiveWorkbook.Name, "excel(*.xls),*.xls")
    'キャンセルでなかったら
    If myFileName <> False Then
      '上書き確認
      If Dir(myFileName) <> vbNullString Then
        If MsgBox("既に同名ファイルが存在します。上書きしますか?", vbOKCancel, "上書確認") = vbCancel Then
          Exit Sub '上書きの中止を選択
        End If
      End If
      .DisplayAlerts = False 'メッセージを出さないようにする
      ActiveWorkbook.SaveAs myFileName '指定ファイル名で保存する
      .DisplayAlerts = True 'メッセージ表示を元に戻す
    End If
  End With
End Sub
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/11/30 09:37

今ファイルのある場所がCドライブで、保存先の初期値をDドライブのtamagawaという設定で・・・



Sub 保存()
  Dim FN As Variant

  ChDrive "D"
  ChDir "D:\tamagawa"

  FN = Application.GetSaveAsFilename(ActiveWorkbook.Name, "Microsoft Excel ブック(*.xls),*.xls")
  If FN <> False Then
   ActiveWorkbook.SaveAs FN
  End If
End Sub

ということで、#3のnishi6さんの回答でできていると思うのですが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/11/30 09:37

ツール→オプション→全般で、カレントフォルダ名にその“決まったフォルダ”のバス名を入れる、というのでは駄目なのでしょうか?



「保存コマンドボタン」ってF12のことですか?(別に作成しなくても良いのでは...?)
    • good
    • 0
この回答へのお礼

ありがとうございました。マスターに選べなくてすみません。

お礼日時:2001/11/30 09:38

ほかの方は違うフォルダに保存するのでしょうか?


もしその方だけというのであれば、エクセルの保存先のフォルダを変更してみてはいかがでしょうか?
ほかのファイルもそのエクセルで開けば指定したフォルダが開くようになってしまいますが・・・。
ほかの方がパソコンに習熟しているのなら、初心者の方に親切な設計にした方がいいと思うので。

一応参考までに。
    • good
    • 0
この回答へのお礼

ありがとうございました。マスターに選べなくてすみません。

お礼日時:2001/11/30 09:38

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qコマンドボタンを押したときシート2のa行の空白セルを選択したいのですが

コマンドボタンを押したときシート2のa行の空白セルを選択したいのですが以下のやり方では”RangeクラスのSelectメソッドが失敗しました。”のエラーが出てしまいます。どこがいけないのか教えてください。

Private Sub CommandButton1_Click()
Worksheets("sheet2").Activate
Range("a65536").End(xlUp).Offset(1).Select
End Sub

ちなみに、コマンドボタンはシート1にあります。
よろしくお願いします。

Aベストアンサー

こんにちは。maruru01です。

Range("a65536").End(xlUp).Offset(1).Select

ActiveSheet.Range("a65536").End(xlUp).Offset(1).Select

にして下さい。

Qコマンドボタン押すと入力規則の指定した数字のマクロ

お世話になります、マクロで質問があります。

セル「U9」には入力規則がリストとして入力されています。リストの元の値は「   ,=DT9」と表示されドロップダウンリストに表示されるようになっています。

「U10」には「   ,=DT10」と、「U11」には「   ,=DT11」・・・と順番に入力されておりU39には「 ,=DT39」U39までセルに入力規則が適用されています。

そして「V9」には「   ,=DV9」と、「V10」には「   ,=DV10」・・・と順番に入力されており「V39」には「  ,=DV39」とV39までのセルに入力規則が適用されています。

そして「AD9」には「   ,=DR9」と、「AD10」には「   ,=DR10」・・・と順番に入力されており「AD39」には「  ,=DR39」とAD39までのセルに入力規則が適用されています。


そこで質問ですがコマンドボタンを押すと、U9~V39とAD9~AD39までのセルの入力規則「=○○○○」の方を自動で選択されるマクロはどの様に組めば宜しいでしょうか?

Aベストアンサー

>U9~V39とAD9~AD39までのセルの入力規則「=○○○○」の方を自動で選択されるマクロ

とくにムズカシク考える必要もありませんので,ご相談の通りにやってみます。

private sub CommandButton1_Click()
 dim h as range
 on error resume next
 for each h in range("U9:V39,AD9:AD39")
  h.formula = split(h.validation.formula1, ",")(1)
 next
end sub



#もっとも,ご相談で言ってる「コマンドボタン」が具体的にフォームなのかコントロールツールボックス/ActiveXコントロールなのかという方で,失敗するカモですけどね。

Q【Excel VBA】コマンドボタンの選択&移動

Excel2003を使用しています。

以前、こちらで教えていただいて、1クリックで1ページ分移動するコマンドボタンを作成しました。
左クリックでDown、右クリックでUpし、Sheet2モジュールに下記のコードを記述しています。

このコマンドボタン自体を選択して、現在配置している場所(セル上)から移動させたい場合、どのように操作すればいいでしょうか?
右クリック、左クリック両方にページ移動が設定されているため、コマンドボタン自体を選択することができません…。
マクロが動作しないよう、一旦、コードを削除して、ボタンをクリックしてみたのですが、選択状態になりませんでした。
よろしくお願いします。

-------------------------------------------------------

Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 '左クリック-進む-Down
 '右クリック-戻る-Up
  CommandButton1.Caption = "左-Down, 右-Up"
  Dim WinTop As Long
  Dim i As Long
  i = Int((ActiveCell.Row) / 26) + 1
  If Button = 1 Then
    Application.Goto Cells(i * 26 + 1, 1), True
  ElseIf Button = 2 Then
    If i > 1 Then
      Application.Goto Cells((i - 2) * 26 + 1, 1), True
    End If
  End If
   WinTop = ActiveWindow.VisibleRange.Top + 2 '(2は縦の位置調整)
   CommandButton1.Top = WinTop
End Sub

Excel2003を使用しています。

以前、こちらで教えていただいて、1クリックで1ページ分移動するコマンドボタンを作成しました。
左クリックでDown、右クリックでUpし、Sheet2モジュールに下記のコードを記述しています。

このコマンドボタン自体を選択して、現在配置している場所(セル上)から移動させたい場合、どのように操作すればいいでしょうか?
右クリック、左クリック両方にページ移動が設定されているため、コマンドボタン自体を選択することができません…。
マクロが動作しないよう、一旦、コー...続きを読む

Aベストアンサー

デザインモードに切り替えると
移動できます。
「表示」-「ツールバー」-「VisualBasic」
で開いたツールバーの中にデザインモードに
するボタンがあります。

Qエクセルでコマンドボタンを押すと指定のセルの色を変える

エクセルでA1セルにコマンドボタンを作り、そのコマンドボタンを押すと下のA2とA3セルが塗りつぶされるようにしたいのですが、VBAを使うのでしょうか??

Aベストアンサー

VBAですね。

コマンドボタンを ダブルクリックして開いたところに

Range("A2").Interior.ColorIndex = 6
Range("A2").Interior.Pattern = xlSolid
Range("A3").Interior.ColorIndex = 6
Range("A3").Interior.Pattern = xlSolid

と記述したらいいですよ。

Qコマンドボタンを押すたびに大きくなってしまう

エクセル2003を使っています。
コマンドボタンを設置したのですが、押すたびに大きくなってしまいます。
エクセルを閉じても同じです。
なぜでしょうか?不思議です。
何かわかる方ご回答よろしくお願い致します。

Aベストアンサー

そのボタンを右クリックして
 プロパティ または
 書式設定→プロパティ

を確認してください。
再現の条件がなかなかわからないのですが
フィルターをかけたときに高さが変化してしまうのだとすれば、
フィルターをかけたあとにすべての行を再表示する際に広がるのだと思います。

それを防ぐには
上記のプロパティで
「サイズを変更しない」にチェックを入れてください。
添付図の赤丸の部分です。

ActiveXコントロールだと
何らかの原因による不具合がおきている可能性もあります。
わたしはほとんど経験がないのですが、昔、2003版までだとActiveXコントロールサイズの不具合の報告も多々ありました。

*画像を添付し忘れたので再送


人気Q&Aランキング

おすすめ情報