※変数の定義を強制する方法:

一番上に、「Option Explicit」を追加して、変数の定義が必須となる。

ソース

 Private Sub CommandButton2_Click()
//スクリーンのロック
Application.ScreenUpdating = False
//異常の発生の場合、「TheEnd」へ移動
On Error GoTo TheEnd
'----↓----変数定義----↓----'
Dim xlTmpBook As Excel.Workbook
Dim thisSheet As Excel.Worksheet 'ファイル集合
Dim excelName As Variant
'一時開いたファイル Dim q As Integer
Dim colorRow As Integer 'ファイルの型とダイアログのタイトルを設定、ファイル集合を返す
excelName = Application.GetOpenFilename("Excelファイル (*.csv;*.xls), *.xls", , "★★★★Title★★★★", , True) '----↓----繰り返す----↓----'
For q = To UBound(excelName)
If excelName(q) = False Then
Exit Sub
Else
'Debug.Print excelName(q)
End If '開いたファイルのチェック、存在しない場合、ファイル名が設定
If IsObject(xlTmpBook) Then
'ファイルが開く
Set xlTmpBook = Application.Workbooks.Open(excelName(q))
Else
//処理中止
Exit Sub
End If
//専用のシートを選択
Set thisSheet = xlTmpBook.Worksheets("画面項目説明_詳細") //シートを活性化にする
thisSheet.Range("A1").Activate //「A」列の一番最後の行を取得
colorRow = CInt(thisSheet.Range(thisSheet.Cells(thisSheet.Rows.count, "A").End(xlUp).Address(ReferenceStyle:=xlA1)).Row) //..............
//スクリプト
//.............. //「A1」セールを選定にする
thisSheet.Cells(, ).Select If (MsgBox("更新しますか?", vbOKCancel) = vbOK) Then
//開いたファイルを更新する
xlTmpBook.Close savechanges:=True
Else
//開いたファイルを更新しない
xlTmpBook.Close savechanges:=False
End If
Next q
TheEnd:
//スクリーンのロック
Application.ScreenUpdating = true End Sub

【VBA】ExcelファイルのOpen的更多相关文章

  1. 【VBA】EXCEL通过VBA生成SQL,自动生成创建表结构SQL

    原文:https://blog.csdn.net/zutsoft/article/details/45441343 编程往往与数据库密不可分,一个项目往往有很多的表,很多时候通过excel来维护表结构 ...

  2. 【VBA】excel自动换名字打印

    源码: Sub m() For i = 1 To 100 ActiveSheet.PrintOut copies:=1 Cells(1, 1) = Sheets(2).Cells(i, 1) Next ...

  3. 【VBA】最大行,最大列

    最大行: Range("B" & Cells.Rows.Count).End(xlUp).Row 最大列 colu = Range("XFD2").En ...

  4. 【VBA】随机数

    [说明] 随机数.生成2个随机数m.n,取值范围为1~R.1~C Randomize m = )) + ) ' 1~R Random Int Randomize n = )) + ) ' 1~C Ra ...

  5. 【VBA】利用Range声明Array(一维/二维)

    [说明] B2开始到B?(中间不能有空格),定义一维数组Arr_approver() Dim R_sh As Worksheet Set R_sh = ThisWorkbook.Sheets(&quo ...

  6. 【VBA】Do While……Loop循环,遍历某列

    [说明] Do While……Loop循环,遍历某列 i = Do While Trim(T_sh.Cells(i, NOTESID_COL)) <> "" If T_ ...

  7. 【VBA】标准Sub/Function定义,带ScreenUpdating、On Error GoTo

    [说明] 标准Sub/Function定义,带ScreenUpdating.On Error GoTo Sub AutoFillRole() '--------------- ERROR MSG--- ...

  8. 【VBA】全局数组定义

    [说明] 全局数组定义(写在Module的最上面) 'Array Public Arr_approver Public Arr_delegator Public Arr_Role

  9. 【VBA】全局常量定义

    [说明] 全局常量定义 Public Const RESULT_SHEET As String = "result" Public Const APPROVER_START_CEL ...

随机推荐

  1. PythonStudy——数据类型 Type of data

    数据类型:信息存在的状态为什么要来描述事物的具体状态:不同的事物需要不同的状态加以描述可以达到描述的最优化 python中有哪些常见的数据类型 1.整型 num = 10000000000000000 ...

  2. sql 不够七位数 在左侧自动补零 ,并循环插入N条记录

    select right(cast('0000000000'+rtrim(字段) as varchar(20)),7) declare @i intdeclare @qid int set @i=1s ...

  3. ByteToByte64String、Base64StringToBytes

    public string ByteToByte64String(byte[] bytes) { return Convert.ToBase64String(bytes); } public byte ...

  4. Python 语言之 map/reduce

    1.相关文献 大名鼎鼎的Google论文<MapReduce: Simplified Data Processing on Large Clusters> 对应的中文翻译<MapRe ...

  5. 如何让Excel单元格中的名字分散对齐

    1 操作方式 开始->对齐方式->对齐->水平对齐->分散对齐(缩进) 2 优势 不会破坏数据的有效性

  6. Python中Lambda表达式使用

    软件环境 Python: 2.7.13; win10 Lambda描述 python 使用 lambda 表达式来创建匿名函数 lambda只是一个表达式,函数体比def简单很多 lambda的主体是 ...

  7. Python循环语句之break与continue的用法

    摘自原文章: http://www.jb51.net/article/73383.htm Python break 语句Python break语句,就像在C语言中,打破了最小封闭for或while循 ...

  8. Python的Django

    1   第一部分目录详解 修改django的项目当中的url中的配置: from django.contrib import admin from django.conf.urls import ur ...

  9. 2017-2018-2 20165312实验二《Java面向对象程序设计》实验报告

    2017-2018-2 20165312实验二<Java面向对象程序设计>实验报告 实验中遇到的问题 1.增加MyUtil的测试类之后,TestCase是红色的,但是没有找到junit.j ...

  10. [转] SQL日期函数dayadd/datediff/datepart

    函数一: CREATE OR REPLACE FUNCTION dayadd(p_Component varchar2, p_Number number, p_Date date) RETURN DA ...