Microsoft Access 掲示板

エクセル操作 Rangeと変数 / 11

17 コメント
views
4 フォロー
11
nokonoko 2023/07/21 (金) 10:11:52 3e2e6@54883

明らかに不要なところを除きました。
実行時に同様のエラーが出ます。

Private Sub cmd練習_Click()
   
On Error GoTo Err_Handler

Dim i As Integer
Dim xls As Object
Dim intNumRow, intGNumRoW As Integer 
Dim strTemplateDir, strTemplateBook As String

intNumRow = 3
intGNumRoW = 5

'テンプレートの保存先フォルダ
    strTemplateDir = Application.CurrentProject.Path & "\データ\テンプレート\"
'テンプレートのファイル名
    strTemplateBook = "原紙.xlsx"
    
'Excelオブジェクトを生成
Set xls = CreateObject("Excel.application")
With xls
    '画面の再描画を抑止
    .screenUpdating = False
    'テンプレートファイルを開く
    .Workbooks.Open strTemplateDir & strTemplateBook
    'ワークシートをコピー
    .Workbooks(strTemplateBook).worksheets("xxx").Copy
    'テンプレートファイルを閉じる
    .Workbooks(strTemplateBook).Close

    'ワークシートに行追加 A
    If intNumRow > 1 Then
        For i = 1 To intNumRow - 1
            .Range("A16").entirerow.Insert
        Next
    End If
 
    'ワークシートに行追加 B
        If intGNumRoW > 1 Then
            xls.Range(xls.cesll(21 + intNumRow, 1), xls.cells(21 + intNumRow + intGNumRoW, 2)).entirerow .Insert
        End If
    
    '画面の再描画を元に戻す
    .screenUpdating = True
End With

MsgBox "保存されました。"
DoCmd.Close acForm, Me.Name

    'Excelを終了
xls.Quit
Set xls = Nothing

Exit_here:
If xls Is Nothing Then Exit Sub
Exit Sub

Err_Handler:
MsgBox Err.Number & vbTab & Err.Description, vbExclamation
Resume Exit_here

End Sub
通報 ...