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

一番上に、「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. Java基于opencv实现图像数字识别(一)

    Java基于opencv实现图像数字识别(一) 最近分到了一个任务,要做数字识别,我分配到的任务是把数字一个个的分开:当时一脸懵逼,直接百度java如何分割图片中的数字,然后就百度到了用Buffere ...

  2. Jquery仿百度经验左右滚动切换效果(转)

    http://www.xwcms.net/webAnnexImages/fileAnnex/201608/61342/index.html

  3. eclipse中,将springboot项目打成jar包

    1.右击项目,选择Run As - Maven clean 2.右击项目,选择Run As - Maven install 3.成功后 会在项目的target文件夹下生成jar包 4.将打包好的jar ...

  4. Excel转datatable

    如果想支持 .xls,.xlsx 两种格式 则必须安装一个exe文件,下载路径https://www.microsoft.com/zh-CN/download/details.aspx?id=1325 ...

  5. C# System.IO和对文件的读写操作

      System.IO命名空间中常用的非抽象类 BinaryReader 从二进制流中读取原始数据 BinaryWriter 从二进制格式中写入原始数据 BufferedStream 字节流的临时存储 ...

  6. VSCode TypeScript开发

    下载VSCode VSCode是我使用过最棒的编辑器没有之一. 创建项目 创建目录 首先我们创建一个项目文件夹,比如叫ts_vscode,然后创建一些主要目录,在VSCode中打开项目 目录结构: t ...

  7. 1131(★、※)Subway Map

    思路:DFS遍历 #include <iostream> #include <map> #include <vector> #include <cstdio& ...

  8. 围绕Buganizer的产品流程

    做技术的一定知道缺陷跟踪系统(bug系统),更不用说做测试的了,不过普遍都认为这系统是用来记录bug的,其实在google内部,这套系统是产品/项目围绕的核心.Google Buganizer扩展了类 ...

  9. java中int算法的有趣现象

    今天无意中发现一个怪事,当时没理解,后来跟网友讨论了才知道原理,是关于int值的加法算法,两段代码如下: 代码1: @Test public void test1() { ; ; try { whil ...

  10. IIS 添加 MIME

    参考:https://blog.brain1981.com/727.html 在项目的  Web.Config 里下添加如下段落即可: <?xml version="1.0" ...