[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA 指定した名前を付けて保存するボタンを作成したいです』(りん)
VBAで、
A1に、名前を付けたい名称を表示できるようにしています。
マクロで、この名前をコピーして、名前を付けて保存する様にしたいです
保存先は、指定したフォルダ
こんな便利な機能は作れるもんですか????
ヾ(≧∇≦*)〃教えてください
< 使用 Excel:Excel2007、使用 OS:Windows7 >
また、「指定したフォルダ」はどのようにして指定するのでしょうか?
セルに入力しておくのもアリですし、ダイアログボックスを表示し、ユーザーに”指定”してもらうということにもできます。
http://officetanaka.net/excel/vba/tips/tips39.htm
(もこな2) 2018/11/30(金) 07:51
おはようございます。すでに、アドバイスがあったようですが 何を保存するかによりますが。。。 出来るかもしれません。 作成はしてくれないかもしれませんが、(親切な方がいて、してくれるかも?) その気がおありなら お困りの部分を詳しくお尋ねになると、多数アドバイスがあり(多分^^;) ご自分でも作れると思います。 (*^^*)v
(隠居じーさん) 2018/11/30(金) 07:59
Dim book1 As Workbook
Workbooks.Open filename:="C:\excelsample\2005年成績.xls" ActiveSheet.Range("A1").Value = "保存"
Set book1 = ActiveWorkbook book1.SaveAs filename:="C:\excelsample\2005年成績(保存).xls" book1.Close
End Sub
これだとA1の名前を付ける訳ではないですよね?
(りん) 2018/11/30(金) 08:19
Sub main() ActiveSheet.Range("A1").Value = "保存" MsgBox "C:\excelsample\2005年成績(" & ActiveSheet.Range("A1").Value & ").xls" End Sub (隠居じーさん) 2018/11/30(金) 10:30
追伸 ActiveSheetは変動する場合も無きにしもあらず。。。みたいなので ブック名、シート名を指定した方が何かとよろしいかと思いますです。 でわ m(_ _)m (隠居じーさん) 2018/11/30(金) 10:45
>これだとA1の名前を付ける訳ではないですよね?
おそらく違うと思います。
Sub テスト()
Dim book1 As Workbook
Workbooks.Open Filename:="C:\excelsample\2005年成績.xls" '・・・・・・・(1) ActiveSheet.Range("A1").Value = "保存" '・・・・・・・・・・・・・・・・・・・・・・・・・(2)
Set book1 = ActiveWorkbook '・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(3) book1.SaveAs Filename:="C:\excelsample\2005年成績(保存).xls" '・・・(4) book1.Close '・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(5)
End Sub
(1)
「C」ドライブ直下にある「excelsample」というフォルダに保存されている「2005年成績.xls」というExcelブックを開き
(2)
(開いてアクティブになっている「2005年成績.xls」ブック)のアクティブになっているシートの「A1」セルに"保存"と入力して
(3)(あらかじめWorkbook型として宣言してあった)「book1」という変数にアクティブブック(「2005年成績.xls」ブック)をセットして
(4)
(3)のブックを名前を付けて保存。(保存先は。ドライブ直下にある「excelsample」というフォルダ、ファイル名は「2005年成績(保存).xls」として保存。(つまり、開いたブックの上書き保存)
(5)
(3)のブックを閉じる
となっています。
(1)(特定のシートに)設置したボタンを押すと (2)(特定のシートの)A1セルに書いてある内容をファイル名にして (3)「指定したフォルダ」に"名前を付けて保存"したい
というように推測されますので、たぶん違うんじゃないかな〜とおもいます。
提示されたコードを見る限り、「"名前を付けて保存"する命令」はわかっているようですし、「セルに"表示"されている内容を取得する方法」も回答があったようなので、それを組み合わせてみてはいかがでしょうか。
さしあたって、一例を示しておきます。
Sub さんぷる()
'以下、ステップ実行すること Stop '←ブレークポイントの代わり
Dim 指定したいフォルダ As String Dim 保存ファイル名 As String
'↓ どのように指定したいのか不明なので今回はコード内で指定する例とします 指定したいフォルダ = "C:\excelsample"
' Valueでも問題ないとおもいますが、「表示されているもの」としたいのであれば、 '↓ Textにされるとより良いよいとおもいます。 保存ファイル名 = ActiveSheet.Range("A1").Value
' マクロの記録で調べたのであれば、マクロが含まれるブックを保存するには ' 保存形式をマクロ付きブック(.xlsm)か97-2003形式(.xls)にしてあげる '↓ 必要があるのが理解できたかと思います ThisWorkbook.SaveAs _ Filename:=指定したいフォルダ & "\" & 保存ファイル名, _ FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
(もこな2) 2018/12/01(土) 23:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.