首页 > 其他分享 >VBA 技巧二

VBA 技巧二

时间:2022-11-26 15:47:57浏览次数:41  
标签:Dim VBA Set End Sub wd wb 技巧

Public Sub 技巧()'保存并关闭工作薄
    Dim wb As Workbook
    Set wb = ThisWorkbook    '可指定任意工作簿
    wb.Close savechanges:=False
    Set wb = Nothing
End Sub
Public Sub 技巧()'查询指定工作薄
    Dim i As Integer, j As Integer
    Dim wb As Workbook
    For i = 1 To Workbooks.Count
        For j = 1 To Workbooks(i).Worksheets.Count
            If Workbooks(i).Worksheets(j).Name = "hhh" Then
                Set wb = Workbooks(i)
                GoTo kkk
            End If
        Next j
    Next i
    MsgBox "没有找到存在有该工作表的工作簿!"
    Exit Sub
kkk:
    MsgBox "指定工作表的工作簿名称为:" & wb.Name
    Set wb = Nothing
End Sub
Public Sub 技巧()’创建多个窗口且并排显示
    Dim i As Integer
    Dim wd As Window
    Set wd = ActiveWindow
    '创建3个新窗口
    wd.NewWindow
    wd.NewWindow
    wd.NewWindow
    Windows.Arrange Arrangestyle:=xlArrangeStyleTiled     '平铺窗口
    MsgBox "已经创建了3个新窗口。下面将关闭这3个新窗口,并恢复原窗口。"
    For i = 1 To Windows.Count - 1
        Windows(Windows.Count - 1).Close
    Next i
    ActiveWindow.WindowState = xlMaximized
End Sub
Public Sub 技巧()‘新建窗口并排显示
    Dim wd As Window
    Set wd = ActiveWindow
    wd.NewWindow
    Windows.Arrange Arrangestyle:=xlArrangeStyleVertical
    MsgBox "下面将关闭新建窗口,并恢复原窗口大小."
    wd.Close
    ActiveWindow.WindowState = xlMaximized
    Set wd = Nothing
End Sub
Public Sub 技巧()’返回当前运行宏的文件所在路径
    Dim wb  As Workbook
    Set wb = ThisWorkbook
    MsgBox "当前宏代码运行的工作簿路径为:" & wb.Path
    Set wb = Nothing
End Sub
Public Sub 技巧()‘获取工作薄的打开方式
    Dim wb As Workbook
    Set wb = Workbooks(1)    '指定任意的工作簿
    If wb.ReadOnly = True Then
        MsgBox "工作簿以只读方式打开!"
    Else
        MsgBox "工作簿以普通方式打开!"
    End If
    Set wb = Nothing
End Sub
Public Sub 技巧()’获取工作薄文件名
    Dim wb As Workbook
    Dim i As Integer
    Dim myBaseName As String
    Set wb = ThisWorkbook         '指定任意工作簿
    myBaseName = wb.Name
    i = InStrRev(myBaseName, ".")
    If i > 0 Then myBaseName = Left(myBaseName, i - 1)
    MsgBox "本工作簿的基本名称:" & myBaseName
End Sub
Public Sub 技巧()‘获取工作薄的所有信息
    Dim wb As Workbook
    Dim myProperties As DocumentProperty
    Columns("A:B").Clear
    Set wb = ThisWorkbook      '可以指定任意的工作簿
    Range("A1:B1").Value = Array("信息名称", "信息数据")
    For Each myProperties In wb.BuiltinDocumentProperties
        With Range("A65536").End(xlUp).Offset(1)
            .Value = myProperties.Name
            On Error Resume Next
            .Offset(, 1).Value = myProperties.Value
            On Error GoTo 0
        End With
    Next
    Columns.AutoFit
    Set wb = Nothing
End Sub
Public Sub 技巧()’判断窗口冻结位置 
    Dim wb As Workbook
    Dim wd As Window
    Set wb = Workbooks(1)      '可以指定任意的工作簿
    Set wd = wb.Windows(1)      '可以指定该工作簿的任意窗口
    With wd
        MsgBox "窗格是否被冻结:" & .FreezePanes
        MsgBox "窗格数目:" & .Panes.Count
        MsgBox "窗格中左上角可见单元格区域地址:" & .Panes(1).VisibleRange.Address
    End With
    Set wd = Nothing
    Set wb = Nothing
End Sub
Public Sub 技巧()‘判断工作薄是否打开,如果打开就激活该工作簿
    Dim wb As Workbook
    Dim myFileName As String
    myFileName = Application.GetOpenFilename("Excel工作簿(*.xls),*.xls")
    If myFileName = "False" Then
        MsgBox "没有选择工作簿"
        Exit Sub
    End If
    On Error Resume Next
    Set wb = Workbooks(Dir(myFileName))
    On Error GoTo 0
    If wb Is Nothing Then    '如果该工作簿还没有打开,就打开它
        Workbooks.Open Filename:=myFileName
    Else
        If wb.FullName = myFileName Then    '如果该工作簿已经被打开,就激活它
            MsgBox "您所指定的工作簿已经被打开!"
            wb.Activate
        End If
    End If
    Set wb = Nothing
End Sub

 

标签:Dim,VBA,Set,End,Sub,wd,wb,技巧
From: https://www.cnblogs.com/xkdn/p/16927519.html

相关文章

  • Shell调试技巧【转】
    转载自:Shell调试技巧首先,调试要比编写代码困难得多,因此,如果你尽可能聪明的编写代码,你就不会在调试的时候花费很多精力.BrianKernighanBash并不包含调试......
  • .net数据库连接池配置技巧(默认值)
    以连接字符串关键字控制ConnectionPoolConnectionString属性是SQLConnection对象的一个属性,它支持一个连接串/值对,这个对是用于调整connectionpool行为的。下表是Connec......
  • VBA 技巧一
    PublicSub技巧()#判断单元格是否有公式DimmyRangeAsRangeSetmyRange=Range("A1")'指定任意单元格IfmyRange.HasFormula=TrueThen......
  • 一些简单的图论模型和建图技巧
    1.常见模型先有模型,而后有建图技巧.二分图和网络流那一套建图不是这篇文章讨论的内容.看上去全是最短路相关的建图(本来想写2-SAT的,但是那部分内容已经包含在S......
  • 45个超实用的JavaScript技巧及最佳实践 一 (收藏)
    1.第一次给变量赋值时,别忘记var关键字如果初次赋值给未声明的变量,该变量会被自动创建为全局变量,在​​JS​​开发中,应该避免使用全局变量,这是大家容易忽略的错误。2.使用===......
  • 45个超实用的JavaScript技巧及最佳实践(二)
    45个超实用的JavaScript技巧及最佳实践(一)21.使用逻辑AND/OR来处理条件语句varfoo=10;foo==10&&doSomething();//isthesamethingasif(foo==10)doSomething......
  • 微服务拆分技巧
    微服务架构整体思路拆分方式按业务拆分微服务按质量拆分微服务基础设施要求搭建完善基础设施搭建核心基础设施再演进......
  • 关于未来你需要的生活技巧
    相亲相亲的男生普遍自卑,而女生却比较挑剔,因为大部分男生已经意识到自己的普通,而女生往往却活在梦里。最后发现大部分的男生都能意识到自己穷,但是女生意识不到自己丑。男孩......
  • 9 个功能强大的 JavaScript 技巧
    英文|https://dev.to/razgandeanu/9-extremely-powerful-javascript-hacks-4g3p​1、全部替换我们知道string.replace() 函数仅替换第一次出现的情况。你可以通过在正则......
  • Vba菜鸟教程
    Vba菜鸟教程_WY_记录的博客-CSDN博客_vba教程......