[[20050610152148]] 『CSVで取込んだシートに転記 マクロ(セルの統』(こまみ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『CSVで取込んだシートに転記 マクロ(セルの統合含む)』(こまみ)

 マクロでCSVを取込みそのデータを別シートにあるフォームに転記
 したいんですが、そのフォームがセルの統合がされており、複雑に
 なっています。どうかどうか伝授していただきたいのですが・・・
 CSVの1回の取り込みは件数的に、50件ぐらいです。
 もし、可能であればもう一つ教えていただきたいのですが、
 2回目の取り込みのとき、1回目の取込したフォームの一番最終行の
 次に追加で入れたいんです。取込時、UserForm1から
 新規か追加かで選択して取込みたいです。

 CSVファイル シート名”データ”
   A  B  C  D  E  F  G   H   I  J  K
 1 0505 東京 0001 ああ いい うう 東京都 品川区 かか 日付 くく
 2 0505 東京 0002 
 3 0505 東京 0004
 ・ ・  ・  ・

 フォーム シート名”データフォーム”
 (1行のみ書きます )
 データシート    データフォーム
 ("A1")       →("A8:E9")
 ("B1")       →("A10:E11")
 ("C1")       →("A12:E13")
 ("D1")       →("G8:AD10")
 ("E1")       →("G11:AD13")
 ("F1")       →("DI8:DZ13")
 ("G1")       →("AF8:BE10") G1は都道府県
( "H1")       →("AF8:BE10") I1は市区町村 データフォームではつなげます。

 ("I1")       →("AF11:BE13")
 ("J1")       →("BG8:BR10")
 ("K1")       →("BY10:CU11")

 2行目は("A14:E15")からはじまります。
 3行目は("A20:E21")からはじまります。
 すみませんがよろしくお願いします


 現在、どのようなVBAになっているのでしょうか?
 CSV取り込み時のセルの位置指定を、「一番最終行の次に」指定すればよいのでは?
  (INA)

 CSVで取込んでから、別のシートに1つずつ移す作業をとりあえずしています。
 とりあえず、1行目のぶんだけの作業です。
 超初心者ですみませんが、よろしくお願いします。
 (こまみ)

 Private Sub CommandButton1_Click()
    Sheets("データ").Select
    Cells.Select
    Selection.ClearContents
    Selection.QueryTable.Delete
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;\\lf010074\取込 東京.csv", Destination:= _
        Range("A1"))
        .Name = "労災取込 東京_18"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 932
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Range("A1").Select
    Selection.Copy
    Sheets("データフォーム").Select
    Range("A8:E9").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    Range("B1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("データフォーム").Select
    Range("A10:E11").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    Range("C1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("データフォーム").Select
    Range("A12:E13").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    Range("D1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("データフォーム").Select
    Range("G8:AD10").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    Range("E1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("データフォーム").Select
    Range("G11:AD13").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    Range("F1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("データフォーム").Select
    ActiveWindow.LargeScroll ToRight:=1
    Range("DI8:DZ13").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    Range("G1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("データフォーム").Select
    ActiveWindow.LargeScroll ToRight:=-1
    Range("AF8:BE10").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    Range("H1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "品川区"
    Sheets("データフォーム").Select
    ActiveCell.FormulaR1C1 = "東京都品川区"
    Sheets("データ").Select
    Range("I1").Select
    Selection.Copy
    Sheets("データフォーム").Select
    Range("AF11:BE13").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    ActiveWindow.SmallScroll ToRight:=4
    Range("J1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("データフォーム").Select
    Range("BG8:BR10").Select
    ActiveSheet.Paste
    Sheets("データ").Select
    Range("K1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("データフォーム").Select
    Range("BY10:CU11").Select
    ActiveSheet.Paste
    Range("BS8:BW10").Select
    Sheets("データフォーム").Select
    Columns("A:E").Select
    Application.CutCopyMode = False
    Selection.NumberFormatLocal = "0000"
    Sheets("データフォーム").Select
    Application.CutCopyMode = False
    Sheets("データフォーム").Copy After:=Sheets(4)
    Sheets("データフォーム (2)").Move After:=Sheets(Sheets.Count)
    Sheets("データフォーム (2)").Select
    Range("S4:AV5").Select
    Selection.NumberFormatLocal = "G/標準"
    P = Application.InputBox(prompt:="提出月を入力してください", Type:=1)
    Sheets("データフォーム (2)").Name = P & "月開始届"
   Me.Hide
 End Sub

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.