No.7
- 回答日時:
たびたびどーもkeeです。
DestinationFile = "C:\aa1" & fname.Value & ".txt"
の fname.Value て正しかったっけ?
string型はオブジェクトじゃないから、違うような・・。
正しくは
DestinationFile = "C:\aa1" & fname & ".txt"
かもね
keeさん、ありがとうございました。
また、無限ループに陥る所でした。
何度やっても、注意がでてきて、????状態でした。
助言どおりにしてみたら、OKでした。
No.6
- 回答日時:
fileをコピーですが、補足の動作を行う場合ですと
セルのB2の内容が123と入っていた場合
aa1.txtをaa1(123).txtにする場合
Dim fname As String
Dim DestinationFile As String
Sheets("sheet1"),Select
fname = Range("B2").Value
DestinationFile = "C:\aa1(" & fname.Value & ").txt"
FileCopy "C:\aa1.txt", DestinationFile
aa1.txtをaa1123.txtにする場合
Dim fname As String
Dim DestinationFile As String
Sheets("sheet1"),Select
fname = Range("B2").Value
DestinationFile = "C:\aa1" & fname.Value & ".txt"
FileCopy "C:\aa1.txt", DestinationFile
という風に、実値と変数を組み合わせる場合は「&」もしくは「+」で加工しないと行けません。また、補足のロジックには「)」が2個ほど余分に入っています。
また、Sheetsのセレクトの所がピリオドで無くカンマになっています。
No.5ベストアンサー
- 回答日時:
マスターを残してと言うことですが、ファイル名を指定して保存と同様の動作をしますので、問題ないと思います。
また、マクロをどうやって実行するのかは分からないのですが、シートがアクティブになっていない場合は、keeさんがご指摘の用にbook名から指定する必要が有ります。
もし、ファイル名が重複する場合は、ファイル名を更するか聞いてきますので大丈夫でしょう。
この回答への補足
Dim fname As String
Sheets("sheet1"),Select
fname = Range("B2").Value
FileCopy "C:\aa1.txt"),
"C:\aa1(fname.Value).txt")
と、Excel上の"B2"を参照し、違う種類のファイルの名前を変えようと
考えているのですが、うまくいきません。
変数の定義の仕方がおかしいのか、変数の使い方がおかしいのか、
それとも他の何か?
無限ループにはまってしましました・・・・・
No.4
- 回答日時:
セルを参照するためにはオブジェクトをキチンと指定しないとうまくいかないようなことがあります。
下のようにシート名もしてみてください。
ppath = "c:\log\"
pfile = Workbooks("book1.xls").Worksheets("Sheet1").Cells(2, 2).FormulaR1C1
ptail = ".xls"
Workbooks("book2.xls").SaveAs Filename:=ppath & pfile & ptail, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Workbooks("Book2.xls").Close
No.3
- 回答日時:
VBAを下記のように記述してみてください。
Rangeの括弧内は利用するセルに書き換えてください。
"c:\"も任意のディレクトリに書き換えてください。
fnameを宣言し、セルデータからフルパスのファイル名を作成、そのファイル名で保存。
Dim fname As String
fname = "c:\" & Range("a1").Value & ".xls"
ActiveWorkbook.SaveAs Filename:=fname, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
この回答への補足
助言、ありがとうございます。
書きもらしていたのですが、
マスターは残しつつ、Copyfileを使って、コピーを作り、
コピーしたものだけ、名前を変えようと考えています。
その場合は、上記のでも対応可能でしょうか?
No.1
- 回答日時:
実際にどのようなプログラムを書かれたのかが分からないので回答ではないのですが。
セルの値を参照するのはWorksheetオブジェクトのRangeプロパティーを使用します。
以下のコードはアクティブなシートのA1の値をメッセージボックスに表示します。
Dim Sheet As Worksheet
Set Sheet = ThisWorkbook.ActiveSheet
MsgBox Sheet.Range("A1")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) Excelのマクロについて 1 2023/04/17 17:22
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Excel(エクセル) Excel 毎日手作業で時間がかかって、泣きたいです、、、VBAのプロの方、助けてください。。。 3 2022/10/25 04:26
- Excel(エクセル) Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに 5 2023/04/08 20:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- Visual Basic(VBA) VBAの参照先のファイル名をセルに書いて代入したい 2 2022/04/04 13:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
住所の文字列から郵便番号を削...
-
文字列の中の検索で、3番目に...
-
エクセルのセル内の余白の設定...
-
EXCELで特定のセルに表示...
-
エクセルでの計算式で求められ...
-
エクセル:マクロ「Application...
-
E列のセルに数値が入れば(空白...
-
エクセル: セルの枠を超えて表示
-
エクセルのセル内に全角数字を...
-
Excel にて条件付き書式の色に...
-
エクセルで表示形式の時刻の「0...
-
エクセルの2ページ目の作り方
-
IF関数で空欄("")の時、Null...
-
条件付き書式で、結果が1行ずれる
-
【エクセル】関数で「A1が0でな...
-
Excelの「0」だけ非表示、小数...
-
エクセルのアポストロフィを一...
-
SUMIF関数で、「ブランク以外を...
-
条件付書式で「=#N/A」に色を付...
-
エクセルで数式を入れても値が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
住所の文字列から郵便番号を削...
-
文字列の中の検索で、3番目に...
-
エクセルの範囲指定について=(a...
-
エクセルで、複数のマスに構文...
-
エクセルの関数について
-
Excel A条件またはB条件に一致...
-
エクセルのセル内の余白の設定...
-
EXCELで特定のセルに表示...
-
エクセル: セルの枠を超えて表示
-
エクセル:マクロ「Application...
-
エクセルでの計算式で求められ...
-
エクセルで表示形式の時刻の「0...
-
エクセルの2ページ目の作り方
-
エクセルのセル内に全角数字を...
-
エクセルで数式を入れても値が...
-
E列のセルに数値が入れば(空白...
-
【エクセル】関数で「A1が0でな...
-
IF関数で空欄("")の時、Null...
-
Excelで全角の数字が半角になっ...
-
Excel にて条件付き書式の色に...
おすすめ情報