
VBA処理にて詳しい方は簡単だと思いますがなかなかできません。
以下の処理をしたいです。
①任意のCSVファイルを開く。
②①ファイルをエクセルファイルに変換する。
③もうひとつ任意のファイルを開ける。
④③のファイルのシート名(社員名簿)を②のファイルの先頭にコピーする。
③のファイルを閉じる。
以上です。
色々素人ながらに調べて書いたコードは下記になります。
お恥ずかしい出来なのは承知ですがなるべく親切に教えて頂きたいです。
たぶん変数とかの設定が出来ていないとは思うのですが。
Sub test()
Dim fl2 As String
Dim fl3 As String
fl2 = Application.GetOpenFilename
Workbooks.Open Filename:=fl2
ActiveWorkbook.SaveAs FileFormat:=xlNormal
fl3 = Application.GetOpenFilename
Workbooks.Open Filename:=fl3
fl3.Sheets("社員名簿").Copy _
Before:=fl2.Sheets(1)
Workbooks(fl3.xls).Close
End Sub
No.2ベストアンサー
- 回答日時:
No.1です。
検証してないのでミスっているかもですが、こんな感じではどうですかね?
Sub test_2()
Dim FileName2 As String
Dim FileName3 As String
Dim fl2 As Workbook
Dim fl3 As Workbook
FileName2 = Application.GetOpenFilename
Set fl2 = Workbooks.Open(Filename:=FileName2)
fl2.SaveAs FileFormat:=xlNormal
FileName3 = Application.GetOpenFilename
Set fl3 = Workbooks.Open(Filename:=FileName3)
fl3.Sheets("社員名簿").Copy _
Before:=fl2.Sheets(1)
fl3.Close False '上書き保存するなら True で
'Set fl2 = Nothing '解放したいけどBookは開いたまま?
Set fl3 = Nothing
End Sub
すばらしい!
ありがとうございます。
完璧にできました。
やっぱりSetの使い方が凄い勉強になりました。
また仕事で使えます。
本当に感謝します。
No.1
- 回答日時:
PCが逝ってしまったのでヒントだけ。
http://officetanaka.net/excel/vba/file/file02.htm
*純粋なファイル名とパスを取得する方法
ここの部分を見る事。
そうすれば変数:f2,f3に何が入っているかわかるはず。
⇒その前にメッセージボックスなどで
>fl2 = Application.GetOpenFilename
この直後に確認する癖をつけるようにされては?
”Bookを開く事が出来る”と言う事は”Bookのフルパス”が入っているのです。
その変数を
>fl3.Sheets("社員名簿")
このようには使えません。
そもそも宣言している型が違うはずですよ。(Workbookで宣言しSetステートメントを使用しているならともかく)
で、最初の見て欲しい記事のFileNameをWorkbooks(FileName).Sheets~とすれば良いかと。
変数名についてはそちらで適切なものに変えてみて。
・・・補足等に対して返信が上手く出来るかはわからない状態なので、頑張ってみて下さい。
ご返信ありがとうございます。
私自身があまり変数を曖昧にしか理解していないのが良くないのですが。
とにかく早く思うような処理をしたいと焦ってしまいますね。
オフィス田中のページは私もよく見ますのでちょっとじっくり腰を据えてやってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
vba textboxへの入力について教...
-
Vba セルの4辺について罫線が有...
-
複数のExcelファイルをマージす...
-
vbsでのwebフォームへの入力制限?
-
VBAでセルの書式を変えずに文字...
-
Vba Array関数について教えてく...
-
【マクロ】開いているブックの...
-
改行文字「vbCrLf」とは
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルのマクロについて教え...
-
Vba FileSystemObject オブジェ...
-
エクセルのマクロについて教え...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
【マクロ】値を渡されたプロシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユニオンクエリで開いたクエリ...
-
Java バイナリデータの扱い
-
VBAで出来そうで出来ない処理に...
-
Mac EclipseのFileReaderでファ...
-
サポートされたファイル形式お...
-
【VBA】マクロの入ったファイル...
-
PDFファイルの倍率を変えて保存...
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
PC内で速度を遅くした音源をCD...
-
複数のブックを新しいブックのS...
-
A4の紙に印刷されている文字を...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
拡張子「.IDJ」を、windo...
-
Visual Basic.NETの、Form 間で...
-
シェイプ上で矢印キー(右、左...
-
eclipseでタブ入力ができなくな...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
GIMP separate+プラグイン クラ...
おすすめ情報