Top > よくつかうプログラム> ネットワークのコンピュータのブック操作

VBA通信教材申込み

VBA課題解決型実践塾セミナー内容

申込 ヤフーショッピング

外部データの合体

(1)ブックのコピー

外部データの合体

全国の営業所のフォルダーの中に経理のデータがあります。
東京・名古屋・福岡のフォルダーが共有されており自分のコンピュータから操作できる設定になっております。
それらのブックを大阪の自分のフォルダーにコピーします。
ブック名は経理東京・経理名古屋・経理福岡とします。
Sub bookcopy()
'NCP1コンピュータの東京フォルダーの経理.xlsxを自分のデータフォルダーにコピーするファイル名は経理東京.xlsx
  FileCopy "\\Ncp1\東京\経理.xlsx", "d:\自分のデータ\経理東京.xlsx"
'Kunren2コンピュータの名古屋フォルダーの経理.xlsxを自分のデータフォルダーにコピーするファイル名は経理東京.xlsx
  FileCopy "\\Kunren2\名古屋\経理.xlsx", "d:\自分のデータ\経理名古屋.xlsx"
'Nagase3コンピュータの福岡フォルダーの経理.xlsxを自分のデータフォルダーにコピーするファイル名は経理福岡.xlsx
  FileCopy "\\Nagase3\福岡\経理.xlsx", "d:\自分のデータ\経理福岡.xlsx"
End Sub

(2)指定月のシートを自分のブックに集める。

外部データの合体

全国の営業所の経理データを確認修正後
当月のシートを合体ブックに集める。
Sub 指定月()
  Dim tuki As String
  tuki = InputBox("取り出したい年月")
'取り出したい年月を覚えておく
  Cells(11, 6) = tuki
'経理東京の指定月のシートを取り出して東京年月のシート名に変更する
  Workbooks.Open Filename:="d:\自分のデータ\経理東京.xlsx"
  Workbooks("経理東京.xlsx").Worksheets(tuki).Copy after:=Workbooks("自分.xlsm").Worksheets("メニュー")
  Worksheets(tuki).Name = "東京" & tuki
  Workbooks("経理東京.xlsx").Close
'経理名古屋の指定月のシートを取り出して名古屋年月のシート名に変更する
  Workbooks.Open Filename:="d:\自分のデータ\経理名古屋.xlsx"
  Workbooks("経理名古屋.xlsx").Worksheets(tuki).Copy after:=Workbooks("自分.xlsm").Worksheets("メニュー")
  Worksheets(tuki).Name = "名古屋" & tuki
  Workbooks("経理名古屋.xlsx").Close
'経理福岡の指定月のシートを取り出して福岡年月のシート名に変更する
  Workbooks.Open Filename:="d:\自分のデータ\経理福岡.xlsx"
  Workbooks("経理福岡.xlsx").Worksheets(tuki).Copy after:=Workbooks("自分.xlsm").Worksheets("メニュー")
  Worksheets(tuki).Name = "福岡" & tuki
  Workbooks("経理福岡.xlsx").Close
End Sub

外部データの合体

(3)シートの合体

外部データの合体

Sub 合体()
  Dim i As Long
  Dim j As Long
  Dim tuki As String
  Dim lastrow As Long
  Dim saigo As Long
  Worksheets("合体").Cells.Clear
'取り出した年月を変数tukに代入
  tuki = Cells(11, 6)
  lastrow = Worksheets("東京" & tuki).Cells(Rows.Count, 1).End(xlUp).Row
  For i = 1 To lastrow
    For j = 1 To 5
      Worksheets("合体").Cells(i, j) = Worksheets("東京" & tuki).Cells(i, j)
    Next
  Next
  saigo = i
  lastrow = Worksheets("名古屋" & tuki).Cells(Rows.Count, 1).End(xlUp).Row
  For i = 3 To lastrow
    For j = 1 To 5
      Worksheets("合体").Cells(saigo, j) = Worksheets("名古屋" & tuki).Cells(i, j)
    Next
    saigo = saigo + 1
  Next
  lastrow = Worksheets("福岡" & tuki).Cells(Rows.Count, 1).End(xlUp).Row
  For i = 3 To lastrow
    For j = 1 To 5
      Worksheets("合体").Cells(saigo, j) = Worksheets("福岡" & tuki).Cells(i, j)
    Next
    saigo = saigo + 1
  Next
'1列目の書式を月日・1行1列目の書式を年月にする
  Worksheets("合体").Select
  Columns("A:A").Select
  Selection.NumberFormatLocal = "m""月""d""日"";@"
  Range("A1").Select
  Selection.NumberFormatLocal = "yyyy""年""m""月"";@"
End Sub

(4)CSVの出力1

外部データの合体

Sub csvoutput()
  Worksheets("合体").Select
  Application.DisplayAlerts = False
  ActiveWorkbook.SaveAs Filename:="D:\自分のデータ\ikou.csv", FileFormat:=xlCSV, _
    CreateBackup:=False
  Application.DisplayAlerts = True
End Sub
問題点
csvファイル作成後、ikou.csvが自分ブックと同じ内容の画面がでる。

外部データの合体


外部データの合体

保存しないにしないとikou.csvが正しく作成できない。

外部データの合体

日付が表示のままでデータになってしまう。

(5)CSVの出力2

外部データの合体

項目間が“ではさまれています。
Write文を使っています。
Sub csvoutput1()
  Dim FileNamePath As Variant
  Dim ch1 As Long
  Dim lastrow As Long
  Dim i As Long
  Dim j As Long
  Dim data(4) As String
  FileNamePath = "d:\自分のデータ\ikou.csv"
  Worksheets("合体").Select
  lastrow = Worksheets("合体").Cells(Rows.Count, 1).End(xlUp).Row
  ch1 = FreeFile
  Open FileNamePath For Output As #ch1
  For i = 2 To lastrow
    For j = 1 To 5
      data(j - 1) = Cells(i, j)
    Next
    Write #ch1, data(0), data(1), data(2), data(3), data(4)
  Next
  Close #ch1
End Sub

(6)CSVの出力3

外部データの合体

項目間が、だけではさまれています。
Print文を使っています。
Sub csvoutput2()
  Dim FileNamePath As Variant
  Dim ch1 As Long
  Dim lastrow As Long
  Dim i As Long
  Dim j As Long
  Dim data(4) As String
  FileNamePath = "d:\自分のデータ\ikou.csv"
  Worksheets("合体").Select
  lastrow = Worksheets("合体").Cells(Rows.Count, 1).End(xlUp).Row
  ch1 = FreeFile
  Open FileNamePath For Output As #ch1
  For i = 2 To lastrow
    For j = 1 To 5
      data(j - 1) = Cells(i, j)
    Next
    Print #ch1, data(0); ","; data(1); ","; data(2); ","; data(3); ","; data(4)
  Next
  Close #ch1
End Sub

塾長あいさつ
基本方針(考え方)
通信教育内容
課題解決セミナー内容
初心者基礎コース内容
カリキュラム・料金
案内地図・各種リンク
問合せ・申込み
アベノ塾
システムの内製化
アサイコンピュータACS
応用部品集(有料)
販売管理(事例)
財務管理(事例)
顧客管理(事例)
見積もり(事例)
給与(事例)
介護(事例)
ゴースト暗算(事例)
部品集(部品の基礎)
部品集(シート関連)
部品集(データベース)
部品集(セル関連)
部品集(関数)
部品集(フォーム関連)
部品集(ブック関連)
部品集(その他)
変数の勉強
繰り返しと条件文
マスター登録.訂正.削除
フォルダー内のファイル
項目をシート名で作成
ブックの操作
CSVファイルの取り込み
呼び出し元・先
商品マスター検索
エクセル関数をVBAで
エクセル関数を使う
よくつかうプログラム
販売管理(ソース)
財務管理(ソース)
給与管理(概要・画面)
見積もり(概要・画面)
工程管理(概要・画面)
原価管理(概要・画面)