
No.3ベストアンサー
- 回答日時:
私が考えていたのと、ちょっと趣旨がちがっちゃったですね。
#1 のレスについていたのをちょっと付け足して、変更してみました。
Sub test_1()
Worksheets("sheet1").Range("A1:F12").Copy
With Workbooks.Add
ActiveSheet.Paste
Application.DisplayAlerts = False '同じ名前があった時上書き
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\システム\" & Date$ & ".xls" _
, FileFormat:=xlNormal _
, Password:="00000000" _
, WriteResPassword:="11111111" _
, ReadOnlyRecommended:=True _
, CreateBackup:=False
Application.DisplayAlerts = True
.Close False '閉じる
End With
End Sub
'*****************************************
以下は、私が考えたものです。参考にしてみてください。
つまり、同名のファイルがあった時の処理を考えてみました。
少しは、参考になるかもね。(^^;
Sub Selection_CopySave()
Dim Rng As Range
Dim rtn As Boolean
Set Rng = Selection 'マウスで複数のセルを選択してください。
If Rng.Count = 1 Then Exit Sub
Rng.Copy
With Workbooks.Add
ActiveSheet.Paste
Do
rtn = FileCheck
Loop While rtn = True
.Close False '閉じる
End With
Application.CutCopyMode = True
End Sub
Private Function FileCheck() As Boolean
Dim Fname As String
Dim rtn As Integer
Dim flg As Boolean
flg = False
Fname = Application.GetSaveAsFilename(Date$, "エクセルブック (*.xls), *.xls")
If Fname <> "False" Then
If Dir(Fname) = "" Then
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Fname _
, FileFormat:=xlNormal _
, Password:="00000000" _
, WriteResPassword:="11111111" _
, ReadOnlyRecommended:=True _
, CreateBackup:=False
Application.DisplayAlerts = True
Else
rtn = MsgBox("同名のファイルがあります。上書きしますか?", vbYesNoCancel)
If rtn = vbYes Then
ActiveWorkbook.Save
ElseIf rtn = vbNo Then
flg = True
ElseIf rtn = vbCancel Then
FileCheck = False
Exit Function
End If
End If
End If
FileCheck = flg
End Function
たった今、拝見したばかりですので、よく見させていただきます。
取り急ぎご挨拶まで。
VBAは、初めてで、これからいろいろと作成していきたいものがありますので、参考に致します。
また、お世話になることがあると思いますが、よろしくお願いいたします。
No.5
- 回答日時:
sheet2 sheet3 がつくのがいやな場合
保存先パスは定時・定型業務に応じて固定
Sub 選択範囲を新規Book_YYYYMMDDに保存()
'
保存先パス = ".\"
'保存先パス = "C:\Documents and Settings\システム\"
保存新規Book名 = Format(Now, "データYYYYMMDD") & ".xls"
保存シート名 = Date$
If Dir(保存先パス & 保存新規Book名) <> "" Then
If MsgBox(保存新規Book名 & vbCrLf & "既存のFileを削除・新規上書きします。 ", vbOKCancel) = vbOK Then
Kill (保存先パス & 保存新規Book名)
Else
Exit Sub
End If
End If
Selection.Copy
Sheets.Add before:=Sheets(1)
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets(1).Move
Sheets(1).Name = 保存シート名
ActiveWorkbook.SaveAs Filename:=保存先パス & 保存新規Book名
ActiveWindow.Close
End Sub
回答いただきまして、大変ありがとうございました。
素人同然の小職に回答下さいまして感謝しております。
今後も、皆様にご迷惑をお掛けすることもあるとおもいますが、よろしくお願いいたします。
No.4
- 回答日時:
#1です。
あらら、、出遅れましたね。ほとんどWendy02さんと同じですが、、
違いは、
Selection.Copy
Worksheets("sheet1").Range("A1:F12").Copy
ですかね。
Wendy02さんがコメントされてますが、私も同名ファイルがあった場合の処理を考えた方が良いと思います。
Sub Sample()
'選択範囲コピー
Selection.Copy
'新規ブックの追加
Set WB = Workbooks.Add
'一応新規ブックをアクティブにする
WB.Activate
'アクティブシートに貼り付け
ActiveSheet.Paste
'保存する
WB.SaveAs _
Filename:="C:\Documents and Settings\システム\" & Date$ & ".xls", _
FileFormat:=xlNormal, _
Password:="00000000", _
WriteResPassword:="11111111", _
ReadOnlyRecommended:=True, _
CreateBackup:=False
'変数の解放
Set WB = Nothing
Application.CutCopyMode = False
End Sub
たった今、拝見したばかりですので、これからよく見させていただきます。
VBAは、初めてで、これからいろいろと作成していきたいものがありますので、参考に致します。
小職のような者のために、皆様に助けていただきたい変換謝しております。
また、お世話になることがあると思いますが、よろしくお願いいたします。
No.2
- 回答日時:
データをどのように利用することを考えておられるのかわかりませんが、
マクロでWorksheetの部分データをCSV形式又はTXT形式で書出す、それを読み込むことが出来ます。
Sampleを呈示することも出来ますが、利用方法を教えて下さい。
下記にVBAに関するサイトの一部をあげておきます。
特に参考URLのサイトにはご希望に近い内容が含まれているようです。ご参考に。
http://www.voicechatjapan.com/excelvba/
http://www.max.hi-ho.ne.jp/~happy/YNxv8316.html
http://www2.moug.net/app/bbs/thread.php?cat=acm_v
http://homepage3.nifty.com/bear/
参考URL:http://www.bekkoame.ne.jp/~poetlabo/COMP/Excel/V …
ありがとうございました。
今後、参考とさせていただきます。
VBAは、初めてで、これからいろいろと作成していきたいものがありますので、参考に致します。
また、お世話になることがあると思いますが、よろしくお願いいたします。
No.1
- 回答日時:
こんにちは。
ご質問の意味がわかりません。
>ファイルに保存したい
どのように保存するのですか?新規ブック?テキスト?
>セル範囲を指定してその指定した部分だけ
連続しない(とびとびの)セルが選択されている場合は、どうするのですか?
もっと具体的に「やりたいこと」を示していただかないと回答できないと思いますよ。
まず、「やりたいこと」を「新しいマクロの記録」で記録してみたらどうですか?
その上で、
・記録されたコード
・具体的にやりたいこと
・マクロの記録で作成されたマクロでは上手く機能しない部分
を補足して下さい。
この回答への補足
済みませんでした。
ワークシート内の指定した範囲内だけを新規ブックとして保存したいのです。なお、連続しないセルは無い状態です。
マクロ記録を行ってみたのですが、ブック全体を保存してしまい、指定した部分だけを保存するという方法がわかりませんでした。
記録したマクロは、以下の通りです。
With Worksheets("sheet1")
.Range.Cells("A1:F12").Select
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\システム\("&Date$
& ").xls" _
, FileFormat:=xlNormal
, Password:="00000000"
, WriteResPassword:="11111111"
, ReadOnlyRecommended:=True
, CreateBackup:=False
End With
『ActiveWorkbook.SaveAs ・・・』の部分を『ActiveCells.saveAs ・・・』に変更してみたのですが、うまく動きませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/12 16:58
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/03/31 12:46
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで指定範囲のデータのみを保存したい
Excel(エクセル)
-
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
VBA シートの内容の範囲を指定してtxtファイルに出力する方法
Excel(エクセル)
-
-
4
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
5
マクロ実行ボタンを自動削除したい
Excel(エクセル)
-
6
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
7
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
8
Excel VBA 指定したセル範囲のみ保存
その他(プログラミング・Web制作)
-
9
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
10
【EXCEL2002】「貼り付け先の書式に合わせる」をVBAで実行したい
Excel(エクセル)
-
11
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
12
ExcelVBA Range クラスの PageBreak プロパティを設定できません。
Visual Basic(VBA)
-
13
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
14
VBAを使って、上書き保存の再確認メッセージを出したい。
Visual Basic(VBA)
-
15
ExcelのVBAを使ってタイトル行が2行ある場合の別シートへの抽出方法
Visual Basic(VBA)
-
16
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
17
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
18
【Excel VBA】 B列に特定の文字列があった場合にA列の値を変更する
Visual Basic(VBA)
-
19
複数のマクロボタンをまとめて一つのマクロボタンにするということ。
Excel(エクセル)
-
20
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル文書を保存したらメモ...
-
エクセルを上書き保存したのに...
-
メール添付されているファイル...
-
いきなりPDFでPDFファイルを開...
-
メールソフト「サンダーバード...
-
エクセル上書き保存時のメッセ...
-
開いてるファイル(エクセル等)...
-
Excel2019とOneDriveでのサイン...
-
Excel画面の自動更新 Excelファ...
-
エクセルがwindows終了時に未保...
-
エクセルでVBAを使用して1分毎...
-
エクセル表のCSV化ができない
-
Illustratorファイルに読み取り...
-
エクセルファイルに上書き保存...
-
エクセルでCSVファイルとして保...
-
エクセル2007で互換モードで上...
-
ピボットテーブルの更新ができない
-
マクロ VBA ファイル名を連番...
-
エクセルを開いた時に強制的に...
-
Excelの読み取り専用について質...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
いきなりPDFでPDFファイルを開...
-
エクセルでVBAを使用して1分毎...
-
エクセルでCSVファイルとして保...
-
メール添付されているファイル...
-
エクセル文書を保存したらメモ...
-
Excel画面の自動更新 Excelファ...
-
エクセル・マクロ(VBA)で、指定...
-
ピボットテーブルの更新ができない
-
「変更を保存しますか?」と聞...
-
EXCELで同一名のファイルがある...
-
Illustratorファイルに読み取り...
-
csvファイルを上書き保存でカン...
-
Excelの読み取り専用について質...
-
マクロ VBA ファイル名を連番...
-
Excel2019とOneDriveでのサイン...
-
エクセル 更新していないのに...
-
開いてるファイル(エクセル等)...
-
メールソフト「サンダーバード...
-
エクセルファイルに上書き保存...
おすすめ情報