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

一番上に、「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. this指向问题 --无return

    this的指向在函数定义的时候是确定不了的只有在函数执行的时候才能确定this到底指向谁.this指向上一级对象 1.函数调用,this指向window var color = "red&q ...

  2. #学习笔记#JSP数据交互

    #学习笔记#JSP数据交互 数据库的使用方式:   当用户在第一个页面的查询框输入查询语句点提交的时候我们是用什么样的方式完成这个查询的? 答:我们通过在第一个页面提交表单的形式,真正的数据库查询时在 ...

  3. ScriptManager 发送错误到客户端

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...

  4. OpenStack上搭建Q版的公共环境准备(step1)

    vmware14 centos7.5minimal版 controller1节点虚拟硬件配置: CPU:1颗2核 Memory:2G 硬盘:20G 网卡: VMnet1(仅主机模式):关闭DHCP,手 ...

  5. forward reference前向引用,gloal values and local values全局变量和局部变量,recursive function递归函数

    1.全局变量与局部变量练习 1 # -*- coding: UTF-8 -*- 2 def bar(): 3 print('from bar') 4 def foo(): 5 print('from ...

  6. 【RestTemplete】使用RestTemplete传Json或者 {} 报错--解决

    https://jira.spring.io/browse/SPR-9220?focusedCommentId=76760&page=com.atlassian.jira.plugin.sys ...

  7. 【剑指offer】反转链表

    输入一个链表,反转链表后,输出新链表的表头. *与之前的问题不同,这里需要修改链表的指向(之前的问题,不需要修改结点的指针,只需使用栈保存每个结点的值) *注意非空处理以及最后一个结点指针的修改 /* ...

  8. nodejs 函数 :html2js

    var fs = require("fs"); var path = require("path"); function propStringToMap(ss1 ...

  9. Alsa aplay S8 U8 S16_LE S16_BE U16_LE U16_BE格式

    举个例子 aplay -r 16000 -f S16_LE -D hw:0,0 -c 2 -d 3 ~/Private/Private_Tools/02_ALSA_Learning/left_1k_r ...

  10. Core Graphices 设置渐变

    Core Graphices 设置渐变 Quartz 提供了两种设置渐变的方式  CGShadingRef and CGGradientRef 尝试CGGradientRef 的使用 import & ...