[[20140827131048]] 『コピペ』(初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『コピペ』(初心者)

Sub テスト()

Worksheets("顧客").Range("B1,F12").Copy
'新規Book作成(WorkSeat1だけを作成
Workbooks.Add Template:=xlWBATWorksheet..PasteSpecial
ActiveSheet.Name = "リスト"

1、[上記は、Sheet1"B1:F12"をコピーし、新規Book(Sheet1)に貼り付け]と
  言う具合に作ったのですが上手くいきません。何処が間違えてるのでしょう?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 >1、[上記は、Sheet1"B1:F12"をコピーし、新規Book(Sheet1)に貼り付け]と 
 >  言う具合に作ったのですが上手くいきません。何処が間違えてるのでしょう? 

 >Range("B1,F12")
   それ、  
  Range("B1:F12")   か
  Range("B1","F12") じゃないですか?

(半平太) 2014/08/27(水) 15:22


 >Workbooks.Add Template:=xlWBATWorksheet..PasteSpecial 
 この一行も気になりますが。

 ちなみに、以前別のお名前で質問されましたか?
  
(HANA) 2014/08/27(水) 16:41

半平太 様
有難うございます
>Range("B1","F12") じゃないですか?
あ!そうでした。

HANA  様
はい、大変申し訳ありません。
同じ名前だと先頭行に行かないみたいなので。
以前別のお名前で質問しなかったのです

(モリリン) 2014/08/28(木) 10:41


Sub 送信()

Dim FileName As String 'File名作成をする宣言

'作成開始の確認
If MsgBox("この内容で送信しても宜しいですか?", vbYesNo) = vbNo Then
Exit Sub 'vbNo
End If

Worksheets("注文書").Range("B1:F12").Copy '?@(元ファイル)
Workbooks.Add Template:=xlWBATWorksheet '?A新規Book作成(Seat1)だけを作成
Worksheets("Sheet1").Range("A1").PasteSpecial '?@で範囲指定している箇所を、?A新規Bookに貼り付け
ActiveSheet.Name = "注文書" '?Aの新規Book作成をしたSeat1名を"注文書"に変える
Columns("A:AA").EntireColumn.AutoFitl     '?@を?Aに貼り付けをした後のセル幅調整
Range("A1").Activate         '?Aのカーソル位置を"A1"に合わせる

FileName = Worksheets("注文書").Range("D3").Value & "_" & Format(Now(), "yyyy_mm月dd日_hh時mm分") 'ファイル名

End Sub

まで出来たのですが、Dim FileName As Stringを宣言をしたんですが
エラーも出なくファイル名も変わってないんですが。
何処が間違っていますか?
あと、何を調べればいいのでしょう?
(モリリン) 2014/08/28(木) 10:54


 順番は更新順なので、同じ名前でも関係なかったと思いますが。。。

 >FileName = Worksheets("注文書").Range("D3").Value & "_" & Format(Now(), "yyyy_mm月dd日_hh時mm分")
 は、変数「FileName」にこれからつけたいファイル名を代入しただけです。

 実際に保存するためには
  ActiveWorkbook.SaveAs Filename:="c:\エクセルの学校\注文書_2014_08月28日_10時00分.xls"
 の様な保存するコードが必要です。
 今、FileNameの中に「注文書_2014_08月28日_10時00分」に相当する部分が出来ていると思いますので
 前後に "c:\エクセルの学校\" と ".xls"(保存場所、拡張子は適切なものに変更して下さい)
 をくっつけて、保存するコードをつくってみて下さい。
  
(HANA) 2014/08/28(木) 11:16

HANA様

>順番は更新順なので、同じ名前でも関係なかったと思いますが。。。
以後気を付けます

Sub 送信()

Dim FileName As String '新規File名作成

'作成開始の確認
If MsgBox("この内容で送信しても宜しいですか?", vbYesNo) = vbNo Then
Exit Sub 'vbNo
End If

Worksheets("注文書").Range("B1:F12").Copy
Workbooks.Add Template:=xlWBATWorksheet '新規Book作成(WorkSeat1だけを作成
Worksheets("Sheet1").Range("A1").PasteSpecial 'Activate '範囲指定して新規Bookに貼り付け
ActiveSheet.Name = "注文書"
Columns("A:Y").EntireColumn.AutoFit
Range("A1").Activate

ActiveWorkbook.SaveAs "C:\Documents and Settings\Administrator\デスクトップ\" & FileName & ".xls"

End Sub
では上手くいかず、Workbookオブジェクトを調べたのですが、何処が間違えてるのですか?
教えてください。 お願いいたします
(モリリン) 2014/08/29(金) 11:27


FileName に何もデータが入っていないからではありませんか。
ためしに
FileName = "a"
とやってみてください
(デイト) 2014/08/29(金) 11:50

 2014/08/28(木) 10:54の投稿時にあった
   FileName = Worksheets("注文書").Range("D3").Value & "_" & Format(Now(), "yyyy_mm月dd日_hh時mm分") 'ファイル名 
 どこいっちゃったの?

 また
 >〜〜では上手くいかず、
 だけではなく、どうなるのか書いてもらうと良いと思います。
 エラーメッセージが表示されて、内容は何か とか
 マクロは終わるが保存されていない とか
  
(HANA) 2014/08/29(金) 12:05

Windows7なのでデスクトップの場所が、ということのようです。

名前を付けて保存
http://www.moug.net/faq/viewtopic.php?t=70182

(cai) 2014/08/31(日) 10:46


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.