よねさんのWordとExcelの小部屋 なんでも掲示板

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

■12984 / 親階層)  CSVデータ→エクセル(ソート)
□投稿者/ 佐藤 -(2016/04/13(Wed) 16:53:03)
    売上順位表を作成したいのですが
    CSVの売上を降順にソートして、担当者、店番、店名、売上を売上順位表のエクセルに情報を反映させたいです。
    毎月シートを作成しているので、シート作成と並び替えは分かったのでVBAを作成してみたのですが、CSVの情報を
    エクセルに反映するVBAでつまってしまいました。
    分かりづらいVBAで、すみません。ご教授のほど、よろしくお願いします。
    
    【CSVシート】
       A    B      C     D    E      F
    1 場所   担当番号   担当者  店番  店名    売上 …
    2 東京  1111    田中    12345  果物屋   1,500…
    3 大阪  2222    佐藤    23456  文房具屋  10,000…
    …
    11 総計                       35,000…
    
    【売上順位表エクセルシート】
    A1=売上月の日付(ex:4/1)
    A12:A119=店番
    D12:D119=店名
    M12:M119=担当者
    O12:O119=売上(降順)
    
       A …  D …        M …      O …
    1 4/1   
    2
    …
    11 店番  店名    担当者   売上
    12 23456 文房具屋 佐藤        10,000
    13 12345 果物屋   田中     1,500
    …
    119
    
    【コード】
    
    Sub SheetCopy()
    
    Dim myBook As Workbook
    Dim OpenFileName As String
    Dim myb_name1 As String
    Dim myb_name2 As String
    Dim mySh_name As String
    Dim mySh1 As Worksheet, mySh2 As Worksheet
    Dim mySh_name1 As String
    Dim wSheetName As Variant
    Dim wNewSheetName As Variant
    Dim NewDate As Date
    Dim Sh As Worksheet
    
    
        'アクティブなシート名を取得
        wSheetName = ActiveSheet.Name
        NewDate = DateAdd("m", 1, Range("A1").Value)
        wNewSheetName = Format(NewDate, "yyyy.m")
        '同名シートの有無を確認
        For Each Sh In ThisWorkbook.Worksheets
            If Sh.Name = wNewSheetName Then
                MsgBox "すでに同名のシートが有りますので終了します "
                Exit Sub
            End If
        Next Sh
    
        'ワークシートのコピー
        ActiveSheet.Copy after:=ThisWorkbook.Sheets(Sheets.Count)
    
        'コピーしたシート名を変更する
        ActiveSheet.Name = wNewSheetName
        Range("A12:O119").ClearContents
    
    
         'A1セルに新しい日付を入力
        Range("A1").Value = NewDate
    
        '転記先シートを変数にセット
        myb_name1 = ThisWorkbook.Name
        mySh_name1 = ActiveSheet.Name
        Set mySh1 = Workbooks(myb_name1).Sheets(mySh_name1)
        'CSVファイルを開く
        OpenFileName = Application.GetOpenFilename("CSV ファイル (*.csv),*.csv")
        If OpenFileName <> "False" Then
            Workbooks.Open OpenFileName
        End If
        myb_name2 = ActiveWorkbook.Name
        mySh_name = Left(myb_name2, Len(myb_name2) - 4)
        'CSVシートを変数にセット
        Set mySh2 = Workbooks(myb_name2).Sheets(mySh_name)
       
        '並べ替えを実行する
        Range("A12:O119" & wLastGyou - 1).Sort _
            Key1:=Range("O12"), _
            Order1:=xlDescending, _
            Header:=xlNo
            
    End Sub

記事引用 削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: CSVデータ→エクセル(ソート) /よねさん
 
上記関連ツリー

Nomal CSVデータ→エクセル(ソート) / 佐藤 (16/04/13(Wed) 16:53) #12984 ←Now
Nomal Re[1]: CSVデータ→エクセル(ソート) / よねさん (16/04/14(Thu) 09:07) #12985
  └Nomal Re[2]: CSVデータ→エクセル(ソート) / 佐藤 (16/04/14(Thu) 11:44) #12988
    └Nomal Re[3]: CSVデータ→エクセル(ソート) / よねさん (16/04/14(Thu) 17:48) #12991
      └Nomal Re[4]: CSVデータ→エクセル(ソート) / 佐藤 (16/04/18(Mon) 15:47) #12994
        └Nomal Re[5]: CSVデータ→エクセル(ソート) / よねさん (16/04/19(Tue) 08:17) #12996
          └Nomal Re[6]: CSVデータ→エクセル(ソート) / 佐藤 (16/10/18(Tue) 15:18) #13089
            └Nomal Re[7]: CSVデータ→エクセル(ソート) / よねさん (16/10/18(Tue) 16:53) #13090
              └Nomal Re[8]: CSVデータ→エクセル(ソート) / 佐藤 (16/10/19(Wed) 13:40) #13091
                └Nomal Re[9]: CSVデータ→エクセル(ソート) / よねさん (16/10/20(Thu) 07:46) #13092
                  └Nomal Re[10]: CSVデータ→エクセル(ソート) / 佐藤 (16/10/21(Fri) 16:46) #13097
                    └Nomal Re[11]: CSVデータ→エクセル(ソート) / よねさん (16/10/22(Sat) 08:22) #13098

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Pass/

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

- Child Tree -