投稿日 | : 2003/11/23(Sun) 21:17 |
投稿者 | : 舘山照夫 |
URL | : |
タイトル | : EXCEL操作について |
以前、Excel操作について、教えていただき大変助かりました、ありがとうございます。
今回はそのつずきですが
約、50ファイルのExcelファイルのデータにアクセスしそのデータを一個のExcelファイルに入力し
グラフ化しようとしていますが、うまくいきません。
Excelのマクロを利用しようとしましたが、かなりのコードになり、なかなスムーズに動きません。
良い方法はありますでしょうか
private Sub Command1_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\WINDOWS\デスクトップ\四半期.xls")
Set xlSheet = xlBook.Worksheets(1)
'Excel のセルに値を代入します。
Dim i As Integer
Dim j As Integer
Dim FormulaR1C1 As Integer
'下部は、EXCELのマクロをなんとかループで作成できればと思い1個だけ作成してみましたが
j = 4
For i = 2 To 9
'xlSheet.Cells(j, i) = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県.xls]Sheet1'!R1C1)"
xlSheet.Cells(j, i) = ActiveCell.FormulaR1C1
For FormulaR1C1 = 1 To 3
ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県.xls]Sheet1'!R3C8:R5C8)"
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県.xls]Sheet1!R6C8:R7C8)" 'エラーとなったので削除
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県.xls]Sheet1!R8C8:R13C8)" 'エラーとなったなったので削除
Next FormulaR1C1
Next i
'下部がExcelのマクロで作成したコード(一部分抜粋)で、 他50ユーザ分の同じような作業を投入
'Range("C4").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[仙台市.xls]Sheet1'!R3C8:R5C8)"
'Range("D4").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[仙台市.xls]Sheet1'!R6C8:R7C8)"
'Range("E4").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[仙台市.xls]Sheet1'!R8C8:R13C8)"
'Range("F4").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[仙台市.xls]Sheet1'!R14C8:R19C8)"
'Range("G4").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[仙台市.xls]Sheet1'!R20C8:R25C8)"
'Range("H4").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[仙台市.xls]Sheet1'!R26C8:R30C8)"
'Range("I4").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[仙台市.xls]Sheet1'!R31C8:R34C8)"
'Application.WindowState = xlNormal
'Application.Left = 54.25
'Application.Top = -9.5
'Application.Width = 547.5
'Application.Height = 442.5
'Windows.Arrange ArrangeStyle:=xlTiled
'Windows("四半期まとめtst.xls").Activate
'ActiveWindow.SmallScroll ToRight:=-3
'Range("C5").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[太白区役所xls]Sheet1'!R3C8:R5C8)"
'Range("D5").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[太白区役所.xls]Sheet1'!R6C8:R7C8)"
'Range("E5").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[太白区役所.xls]Sheet1'!R8C8:R13C8)"
'Range("F5").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[太白区役所.xls]Sheet1'!R14C8:R19C8)"
' Range("G5").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[太白区役所.xls]Sheet1'!R20C8:R25C8)"
'Range("G6").Select
'ActiveWindow.SmallScroll ToRight:=1
'Range("H5").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[太白区役所.xls]Sheet1'!R26C8:R30C8)"
'Range("I5").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[太白区役所.xls]Sheet1'!R31C8:R34C8)"
'Range("I6").Select
'Application.Left = 51.25
'Application.Top = -9.5
'Windows.Arrange ArrangeStyle:=xlTiled
'Windows("四半期まとめtst.xls").Activate
'Range("C6").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県農協.xls]Sheet1'!R3C8:R5C8)"
'Range("D6").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県農協.xls]Sheet1'!R6C8:R7C8)"
'Range("E6").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県農協.xls]Sheet1'!R8C8:R13C8)"
'Range("F6").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県農協.xls]Sheet1'!R14C8:R19C8)"
'Range("G6").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県農協.xls]Sheet1'!R20C8:R25C8)"
'Range("H6").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県農協.xls]Sheet1'!R26C8:R30C8)"
'Range("I6").Select
'ActiveCell.FormulaR1C1 = "=SUM('C:\WINDOWS\デスクトップ\smgyoumu\smplan\[宮城県農協.xls]Sheet1'!R31C8:R34C8)"
'Range("I7").Select
'xlApp.Visible = True
'標準モジュール内に記入されている場合
'xlApp.Run ("Macro2")
xlApp.Visible = True
xlApp.DisplayAlerts = False
xlSheet.SaveAs "C:\WINDOWS\デスクトップ\smgyoumu\四半期まとめtst2.xls" 'ファイルを保存
xlApp.Quit
Set xlApp = Nothing
Set xlBook = Nothing
Set xlSheet = Nothing
End Sub