【質問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◆に貼り付けることになる)。
コピー解除。

回答の条件
  • 1人3回まで
  • 登録:2009/03/16 23:35:55
  • 終了:2009/03/17 23:22:18

ベストアンサー

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912009/03/17 01:19:28

ポイント200pt

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

とりあえず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
id:pinko_pinpin

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

とても助かりました。

2009/03/17 23:21:38
  • id:Mook
    多くのポイントありがとうございます。

    質問5のコメントが有効でないのでこちらで失礼しますが、
    動作的に問題ある個所はあるでしょうか。

    全体を通して修正をご要望の個所がありましたら、コメントください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません