ここから本文です

マクロに関する質問となります。 配布エクセルファイルに以下のコードが記述され...

imi********さん

2017/1/722:18:22

マクロに関する質問となります。
配布エクセルファイルに以下のコードが記述されており、そのコードを編集したいと思っております。
しかし私の理解力不足でうまく扱うことができておりません。

どなたかお力を貸していただけませんでしょうか。
※abc.xlsというブック内のsheet1(1行目に各セルに表題が記載されているシート)でマクロを実行している

Sub GetData()

Dim mydir As String
Dim myfile As String
Dim bodname As String
Dim cpname As String
Dim svname As String


'拡張子の設定&テキスト形式ファイルの作成
myfile = Application.GetOpenFilename()
If myfile <> "False" Then
mydir = CurDir
bodname = Mid$(myfile, Len(CurDir) + 2, Len(myfile) - Len(CurDir) - 4)
cpname = bodname & "txt"
svname = bodname & "xls"
FileCopy myfile, cpname



'フォーマット指定でファイルの読み込み
Workbooks.OpenText cpname, StartRow:=1 _
, DataType:=xlDelimited, TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:= _
True, Semicolon:=False, Comma:=True, Space:=False, Other:=False, _
FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 1), Array(5, 5), Array _
(6, 2), Array(7, 2), Array(8, 1), Array(9, 5), Array(10, 2), Array(11, 2), Array(12, 2), _
Array(13, 2), Array(14, 2), Array(15, 5), Array(16, 2), Array(17, 2))

'ヘッダ
Windows("abc.xls").Activate
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Copy
Windows(cpname).Activate
Rows("1:1").Select
Selection.Insert Shift:=xlDown

'エクセルシートの強制保存
ActiveWorkbook.SaveAs FileName:=svname, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

'テキストファイル削除
Kill cpname

End If
End Sub


・開いたCSVファイルが自動的に新規エクセルファイルで保存されてしまいます。エクセルファイルでは保存させず、直接abc.xlsというブック内にsheet2を追加してそこにCSVファイルの内容をコピーしたいです。

閲覧数:
60
回答数:
1

違反報告

ベストアンサーに選ばれた回答

jun********さん

2017/1/801:11:16

基本的には「エクセルシートの強制保存」の部分を、シートコピーにするだけです。ただ、開いたテキストファイルを閉じる為、テキストファイルのWorkbookオブジェクトを取得しておきます。

'ヘッダ

このコメントの前、つまり前の処理ブロックの終了位置に、次の命令を入れておきます。

Set wb=ActiveWorkbook

そして、本命の差し替え部分です。「'エクセルシートの強制保存」のコメントで示されている処理ブロックを削除し、次の命令に入れ替えます。

wb.Worksheets(1).Copy after:=ThisWorkbook.Worksheets("sheet1")
ActiveSheet.Name="sheet2"
wb.Saved=True
wb.Close

これでsheet1の後に、シートがコピーされ、名前がsheet2に変更されます。そして、テキストファイルを閉じます。

質問した人からのコメント

2017/1/8 11:13:31

迅速返答且つ非常にわかりやすい解説をしていただき本当にありがとうございました。
私の理想通りの動作となりました。

jun_saedaさんには大変感謝しております。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる