テキストファイルからコピペする方法
ボタンを押すと任意のテキストファイルから、コピーしたい所を選んでエクセルに張り付ける。
これはマクロじゃないとできない機能なのでマクロで組みます。
マクロをよくわからない人でもマクロ文をコピーするだけでOKです。
例題 ボタン一つでテキストファイルからコピペする
ボタンを押すとそのままコピーする。
コピー元はテキストファイルでもcsvどちらでも可能です。
コピー元になるテキストファイルを用意
テキストファイルはエクセルで開いて、任意の文字や数字を入れましょう。
そうしないとセルごとに文字が入りません。
そうするとテキストファイルだが、エクセルのように編集できる。
マクロ
マクロを組むエクセルファイルでマクロを入力する。
エクセルを新規で開いてメニューバー「表示」、「マクロ」、「マクロの表示」を開く。
そうするとマクロの画面が開くので、マクロ名に任意の名前を入力。
次に作成を押します。
そうすると新しいコードを書きこむ窓が出てきます。
そこに以下のコードを張り付けます。
Sub コピペ()
Const CSV_FILE = "C:\Users\owner\Desktop\エクセル超技\コピペマクロ\コピー元.txt"
Dim ReadWBk As Workbook
Dim ReadSht As Worksheet
Dim WriteWBk As Workbook
Dim WriteSht As Worksheet
Set WriteWBk = ActiveWorkbook
Set WriteSht = WriteWBk.ActiveSheet
Set ReadWBk = Workbooks.Open(CSV_FILE)
Set ReadSht = ReadWBk.Worksheets(1)
WriteSht.Range("A1:C5").Value = ReadSht.Range("A1:C5").Value
ReadWBk.Close
Set ReadWBk = Nothing
End Sub
張り付ける場所は
Sub ~~() から EndSub の間です。
Sub ~~()から EndSub までの間をPCが演算します。
任意に応じてコードを自分用に書き直してください。
書き直すところは3つ。
1、コピー元テキストファイルの絶対パスを書きこむ。
"C:\Users\owner\Desktop\エクセル超技\コピペマクロ\コピー元.txt"を、自分のファイルの場所に書き直してください。
コピー元ファイルの絶対パスがわからない場合は、右クリックしてプロパティから確認してください。
2、ペーストしたい場所のセルの範囲を記述
("A1:C5")となっていますが、これを張り付けたい場所に変えてください。
3、コピーする場所のセルの範囲を記述
("A1:C5")となっていますが、これをコピーするセルの範囲に変えてください。
コピペしたらディスクマークのボタンを押してマクロを「保存」してください。保存したら右上にある×ボタンを押してマクロの窓を閉じましょう。
これでマクロ完成です。
この状態でマクロを実行しても対象ファイルからコピペしてくれます。
ボタン
ただ、いちいちマクロ実行するためにメニューバーからマクロを実行とクリックしていくのが面倒なので、
適当な場所にボタンを用意して、ボタンを押したらマクロが実行してくれるようにすればとても楽になります。
ボタンの作り方は、メニューバーの「挿入」から「図形」を選んで好きな図形を適当な所に作ります。
そうしたらその図形を右クリックして、メニューの中から「テキストの編集」にてボタン内の文字を入力。
つぎに再度右クリックして、メニューの中から「マクロ登録」を選んでマクロをセットします。
作成したマクロを選んでOKを押してセットします。
これでボタンを押せば、コピーしたいテキストファイル(あるいはcsvファイル)からエクセルにコピーします。
注意
エクセルは必ずマクロ有効ファイルの拡張子.xlsmで保存してください。
そうないとマクロが保存されません。
まとめ
いかがだったでしょうか。
このマクロは毎日繰り返しする単調な作業を、ボタン一つで行える為時間とストレスを節約できます。