[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『AX2のセル上にある文字を保存するときの名前にしたい』(ああ)
現在下のマクロを使いAX3からAY1000の範囲をxlsファイルで出力するということをしています。ここにAX2のセル上にある文字を保存するときの名前にするというマクロを追加したいときこのマクロをどう変えればいいか教えてください。
Sub xlsdasu1()
Dim myRng As Range, myFileName As String
Set myRng = Range("AX3:AY1000") myFileName = Application.GetSaveAsFilename(FileFilter:="XLSファイル (*.xls,*.xls") If myFileName = "False" Then Exit Sub Application.ScreenUpdating = False With Worksheets.Add myRng.Copy .Cells(1, 1) .Move End With With ActiveWorkbook .SaveAs Filename:=myFileName, FileFormat:=xlExcel8 .Close False End With Application.ScreenUpdating = True Set myRng = Nothing End Sub
< 使用 Excel:Excel2013、使用 OS:Windows7 >
myFileName = Application.GetSaveAsFilename(FileFilter:="XLSファイル (*.xls,*.xls")
↓
myFileName = Application.GetSaveAsFilename(InitialFileName:=Range("AX2"), FileFilter:="XLSファイル (*.xls,*.xls")
という事でしょうか。 若しくは上記は取り止め myFileName = ThisWorkbook.Path & "\" & Range("AX2") & ".xls" とするとか、ではどうでしょうか 外してましたらご容赦を。 (隠居じーさん) 2018/05/10(木) 17:35
(1)
インデントない方が読みやすいという方もいらっしゃるようなので無理強いはしませんが、ご自身で見てみづらいなと思うようであれば、適宜インデントを入れるようにするとコードの可読性があがり、メンテナンス等がしやすくなると思います。
(2)
好みの問題ですが「myRng」について、実質的に1回しか出てこないので、私ならわざわざ変数に格納しないです。
(3)
「Application.ScreenUpdating = False」これの意味をわかって入れてるのであればいいんですが、テスト時に想定外の動きをしているのを見落とすことになりかねないので、私なら完成するまで(安定動作が確認されるまで)入れません。
(4)
賛否両論あるとおもいますけど、「ActiveWorkbook」ってなっている部分について、私ならActive〇〇に対する操作という記述を避けたいので、新規シートを追加してそのシートを「Move」したときに作成されたブックじゃなくて、新規ブックの1番目のシートって書きます。
ということを踏まえ、私ならこんな感じで書きます。
(新規ブック作成時のシート数を一時的に1にしてるせいで、ごちゃごちゃしてしまうので、コピー先ブックのシート数にこだわりがないならその部分を削った方がいいとは思いますが・・・)
Sub Sample1() Dim myFileName As String Dim i As Long
myFileName = Application.GetSaveAsFilename(FileFilter:="XLSファイル (*.xls,*.xls") If myFileName = "False" Then Exit Sub
i = Application.SheetsInNewWorkbook Application.SheetsInNewWorkbook = 1
With Workbooks.Add Application.SheetsInNewWorkbook = i
ThisWorkbook.Worksheets(1).Range("AX3:AY1000").Copy .Worksheets(1).Cells(1, 1)
.SaveAs Filename:=myFileName, FileFormat:=xlExcel8 .Close End With End Sub
(もこな2) 2018/05/11(金) 11:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.