人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【質問1】
エクセルのマクロを作って下さい。
文章が下手なもので理解しづらいかもしれませんが、宜しくお願い致します。
私の要望通りのものでしたら、200ポイントを差し上げます。


【前提】
My Documentに以下のフォルダがあり、
フォルダ名:cccc
その中に以下のファイルが2つある。
ファイル名:aaaa.xls
ファイル名:bbbb.csv

aaaa.xlsにはsheet1からsheet8まである
bbbb.csvのA列の各行には、文字が入力されている。
列はA列からU列まであり、B列からU列には、ブランクのセルもある。
A列の最終行は◆行(セルA◆)とする。
◆行は、そのときにより変わる。

・CSVファイルからデータをエクセルファイルへ移行
ファイル名:bbbb.csvの
A列からU列まで、2行目からA列に入力されている最終行(A2:U◆)までを選択しコピー。

ファイル名:aaaa.xls
のシート名:sheet1に、セルA2を左上として、上記「コピー」を貼付け(即ち、A2:U◆に貼り付けることになる)。
コピー解除。

●質問者: pinko_pinpin
●カテゴリ:コンピュータ
✍キーワード:CSV xls エクセル コピー セル
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●200ポイント ベストアンサー

独立した質問かと思ったら、全部関連したものだったのですね。

とりあえずQ1から追って回答します。

'----------------------------------------------------------------------------
Sub pinkoQ1()
'----------------------------------------------------------------------------
' マイドキュメント\cccc\bbbb.csv の2行目以降を aaaa.xls のSheet1 へコピー
'----------------------------------------------------------------------------
 Dim Path As String, WSH As Variant
 Set WSH = CreateObject("WScript.Shell")
 
 Path = WSH.SpecialFolders("MyDocuments") & "\cccc\aaaa.xls"
 Dim dstWB As Workbook
 Set dstWB = Workbooks.Open(Path)
 
 Path = WSH.SpecialFolders("MyDocuments") & "\cccc\bbbb.csv"
 Dim srcWB As Workbook
 Set srcWB = Workbooks.Open(Path)
 
 Dim lastRow As Long
 lastRow = srcWB.Worksheets(1).Range("A" & Rows.Count).End(xlUp).Row
 
 srcWB.Worksheets(1).Range("A2").Resize(21, lastRow - 1).Copy _
 Destination:=dstWB.Worksheets("Sheet1").Range("A2").Resize(21, lastRow - 1)
 srcWB.Close
End Sub
◎質問者からの返答

ありがとうございました。

とても助かりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ