プロが教えるわが家の防犯対策術!

下記のマクロで、ファイル指定保存をする時に
"実行時エラー91 オブジェクト変数またはWithブロック変数が設定されていません”がでます。

やりたいのは、選択したセルの1番目をファイル名として
保存をしたいのですが、うまくいきません。
どうしたらよいのでしょうか?

Sub Macro1()

Dim セル As Object
Dim i As Long

 i = 1
 For Each セル In Selection
  Worksheets("Sheet2").Cells(1, i).Value = セル
    i = i + 1
 Next

ActiveWorkbook.SaveAs Filename:="D:\TEST\" & セル & ".xls"

End Sub

A 回答 (3件)

これで如何?



Sub test()
Worksheets("Sheet2").Range("a1").Value = Selection.Cells(1, 1).Value & ".xls"
ActiveWorkbook.SaveAs Filename:="D:\TEST\" & Selection.Cells(1, 1).Value & ".xls"
End Sub

参考まで
    • good
    • 0

すでに回答が出ていますが、


選択範囲中のどこかのセルに文字列があれば
すべて別ファイル名として保存するということなら
こんな感じでしょうか。
Sub Macro1()
Dim セル As Range
Dim i As Long
'i = 1
For Each セル In Selection
If セル.Text = "" Then Exit For
Worksheets("Sheet2").Cells(1, i).Value = セル.Text
ActiveWorkbook.SaveAs Filename:="D:\TEST\" & セル.Text & ".xls"
'i = i + 1
Next

End Sub
    • good
    • 0

変数iがなぜあるのかはわかりませんが、



ActiveWorkbook.SaveAs Filename:="D:\TEST\" & Selection.Item(1).Value & ".xls"

この1行で良いかも?
⇒エラー処理が不要なら。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

エラーは回避することができましたが、セルのファイル名が保存されません。

セルの宣言がおかしいのでしょうか?

お礼日時:2010/01/16 22:37

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