投稿時間: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
|