過去ログ

                                Page     198
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼マクロ作成時の躓き(ファイルネームの件)  TAKA 02/10/12(土) 1:57
   ┗Re:マクロ作成時の躓き(ファイルネームの件)  ぴかる 02/10/12(土) 9:38
      ┗Re:マクロ作成時の躓き(ファイルネームの件)  ひで 02/10/12(土) 13:35
         ┗Re:マクロ作成時の躓き(ファイルネームの...  TAKA 02/10/12(土) 17:00
            ┗Re:マクロ作成時の躓き(ファイルネームの...  ひで 02/10/12(土) 18:13
               ┗Re:マクロ作成時の躓き(ファイルネームの...  TAKA 02/10/13(日) 12:58

 ───────────────────────────────────────
 ■題名 : マクロ作成時の躓き(ファイルネームの件)
 ■名前 : TAKA
 ■日付 : 02/10/12(土) 1:57
 -------------------------------------------------------------------------
   はじめまして
ファイルオープン、コピー、貼り付け、貼り付け後ファイル保存のマクロを作成したいのですが

1, 001.CSVファイル  B1 B67 C67 (B67+C67) D67 E67 F67 B24 B25セルをコピー
2, data.xlsファイル A1 B1 C1   D1   E1 F1 G1 H1 I1に貼り付け
3, data.xlsに貼り付け終了後、B1に記入されている文字をファイルネームとして保存


1,の001.CSVファイルは、固定ファイル名でなくどのような.CSVファイルでも読める様にする

Range("B1").Select
  Selection.Copy
  Windows("Book1.xls").Activate
  Sheets("Sheet1").Select
  ActiveSheet.Paste
  Windows("001.CSV").Activate ← 
        ↑
これでは、このファイル名でしかマクロが実行されず
当然なのですが例,004.CSV)のファイルですとマクロ実行時にエラーが出ます。
これをどの様なファイル名でもマクロが正常に終了出来る様に
するのには、どの様に文字を入れればよいか教えて頂けないでしょうか

宜しくお願いいたします。
 ───────────────────────────────────────  ■題名 : Re:マクロ作成時の躓き(ファイルネームの件)  ■名前 : ぴかる  ■日付 : 02/10/12(土) 9:38  -------------------------------------------------------------------------
   TAKAさん、こんにちは。

>Range("B1").Select
>  Selection.Copy
>  Windows("Book1.xls").Activate
>  Sheets("Sheet1").Select
>  ActiveSheet.Paste
>  Windows("001.CSV").Activate ← 
>        ↑
>これでは、このファイル名でしかマクロが実行されず
>当然なのですが例,004.CSV)のファイルですとマクロ実行時にエラーが出ます。
変数化すれば出来ますよ。よかったら、こんなんを参考にしてね。

Sub test()
Dim Fname As String
On Error GoTo エラー処理
  Fname = Range("B1") & ".CSV"
  Windows(Fname).Activate
エラー処理:
  MsgBox "《 " & Fname & " 》ってないよ!"
End Sub
 ───────────────────────────────────────  ■題名 : Re:マクロ作成時の躓き(ファイルネームの件)  ■名前 : ひで  ■日付 : 02/10/12(土) 13:35  -------------------------------------------------------------------------
   ▼ぴかる さん TAKAさん、こんにちは。

Dim abc
  ・
  ・
'ここまでにCSVファイルがアクティブになっている前提で
abc = ActiveWorkbook.Name 
>>Range("B1").Select 
>>  Selection.Copy
>>  Windows("Book1.xls").Activate
>>  Sheets("Sheet1").Select
>>  ActiveSheet.Paste
   Windows(abc).Activate        

私も変数をつかってみました。
いかがでしょうか?
 ───────────────────────────────────────  ■題名 : Re:マクロ作成時の躓き(ファイルネームの...  ■名前 : TAKA  ■日付 : 02/10/12(土) 17:00  -------------------------------------------------------------------------
   ぴかる様、ひで様 ありがとうございました。
解決しエラー無しで終わる事が出来ました。

あと一点お伺いしたいのですが
.CSVファイルを開く時は、普通にEXCELで開けるのですが
他のファイル(関連付けされていないテキスト形式ファイル)などを読み込みする
場合は、テキストウィザードが立ち上り、これも自動で行える様にしたいと思いまして
このような事は、可能でしょうか? 区切り文字を(タブ、スペース)にチェック

宜しくお願いいたします。
 ───────────────────────────────────────  ■題名 : Re:マクロ作成時の躓き(ファイルネームの...  ■名前 : ひで  ■日付 : 02/10/12(土) 18:13  -------------------------------------------------------------------------
   ▼TAKA さん:

>解決しエラー無しで終わる事が出来ました。
よかったですね!でも"様"はかんべんしてくださーい(汗;

>あと一点お伺いしたいのですが
>.CSVファイルを開く時は、普通にEXCELで開けるのですが
>他のファイル(関連付けされていないテキスト形式ファイル)などを読み込みする
>場合は、テキストウィザードが立ち上り、これも自動で行える様にしたいと思いまして
>このような事は、可能でしょうか? 区切り文字を(タブ、スペース)にチェック
>
>宜しくお願いいたします。

私もわからなかったので、マクロ記録をしてみました。

  ChDir "C:\test1"  ←ここ と    ↓ ここ
  Workbooks.OpenText FileName:="C:\test1\新規テキスト文書.txt", StartRow:=1, _
    DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _
    :=True, Tab:=True, Semicolon:=False, Comma:=False, Space:=True, Other _
    :=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1))

 " " の中をTAKAさんが必要としているものと変えてください。

わからないことは、一度マクロ記録するとコードが出ますから
それをヘルプで調べると良いですよ。私もそーしてまーす。(まだまだですが・・)
 ───────────────────────────────────────  ■題名 : Re:マクロ作成時の躓き(ファイルネームの...  ■名前 : TAKA  ■日付 : 02/10/13(日) 12:58  -------------------------------------------------------------------------
   こんにちは
無事、完了いたいしました。

大変お世話になり有難う御座いました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 198