首页 > 其他分享 >【VBA】通常関数

【VBA】通常関数

时间:2024-08-27 14:57:26浏览次数:10  
标签:Function VBA End Sub 通常 str 関数 Public String

Start

'ログ出力1(引数)
Public Sub LogInfo1(str As String)
    Call LogInfo2(Now, str)
End Sub
'ログ出力2(引数)
Public Sub LogInfo2(key As String, value As String)
    Call LogInfo3(key, value, ":")
End Sub
'ログ出力3(引数)
Public Sub LogInfo3(key As String, value As String, regx As String)
    Debug.Print key & regx & value
End Sub
ILogger
'Screen解除
Public Sub ScreenUpdateFalse()
    Application.ScreenUpdating = False
End Sub
'Screenロック
Public Sub ScreenUpdateTrue()
    Application.ScreenUpdating = True
End Sub
'シート表示
Public Sub SheetShow(sht As Worksheet)
    If sht.Visible = xlSheetHidden Then
        sht.Visible = xlSheetVisible
    End If
End Sub
'シート非表示
Public Sub SheetHide(sht As Worksheet)
    If sht.Visible = xlSheetVisible Then
        sht.Visible = xlSheetHide
    End If
End Sub
'ブッククローズ(保存)
Public Sub BookCloseforSaveTrue(wk As Workbook)
    wk.Close saveChanges:=True
End Sub
'ブッククローズ(非保存)
Public Sub BookCloseforSaveFalse(wk As Workbook)
    wk.Close saveChanges:=False
End Sub
'前行のフォーマットのコピー
Public Sub CopyFormat(sht As Worksheet, targetRow As Long)
    sht.Rows(targetRow - 1).Select
    Selection.Copy
    sht.Rows(targetRow).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
'フォーカスの設定(A1)
Public Sub SetFocusA1(sht As Worksheet)
    sht.Range("A1").Select
    sht.Range("A1").Activate
End Sub
ICommon
'頭文字の判断
Public Function StartsWith(str As String, startStr As String) As Boolean
    If Len(Trim(startStr)) > Len(Trim(str)) Or Len(Trim(startStr)) = Len(Trim(str)) Then
        StartsWith = False
    Else
        StartsWith = Left(str, Len(startStr)) = startStr
    End If
End Function

'指定数字の頭3ゼロの補足
Public Function FormatToLeft3Zero(number As Long) As String
    FormatToLeft3Zero = Format(number, "000")
End Function

'本文を「・」で区切
Public Function StrSpilt(str As String) As Variant
    Dim strs As Variant
    Dim newArr As Variant
    Dim ifor As Long

    strs = Split(str, "・")
    
    If IsEmpty(strs) Or UBound(strs) = 0 Then
        StrSpilt = Array()
        Exit Function
    End If
    
    ReDim newArr(UBound(strs) - 1)
    For ifor = 1 To UBound(strs)
        newArr(ifor - 1) = RemoveTrailingNewlinesRegex("・" & CStr(strs(ifor)))
    Next ifor
    StrSpilt = newArr
    
End Function

'指定列の最後行の番号取得
Public Function GetLastRow(colNum As String) As Integer
    GetLastRow = Common.GSheet.Cells(Common.GSheet.Rows.Count, colNum).End(xlUp).Row
End Function

'指定文字の含め判断
Public Function ContainsStr(mainString As String, substring As String) As Boolean
    ContainsStr = InStr(1, mainString, substring, vbTextCompare) > 0
End Function

'改行文字の除く
Public Function RemoveTrailingNewlinesRegex(str As String) As String
    
    Set regex = CreateObject("VBScript.RegExp")
    
    With regex
        .Global = True
        .Pattern = "\r?\n?$"
    End With

    If regex.test(str) Then
        str = regex.Replace(str, "")
    End If
    
    RemoveTrailingNewlinesRegex = str

End Function

'改行文字の除く
Public Function RemoveTrailingNewlines(str As String) As String
    
    str = Replace(str, vbCrLf, "")
    str = Replace(str, Chr(13), "")
    str = Replace(str, Chr(10), "")

    RemoveTrailingNewlines = str
    
End Function

'フィアル配列の取得
Public Function OpenWorkBooks() As Variant

Dim xlsTmps As Variant

xlsTmps = Application.GetOpenFilename("Excelファイル(*.csv;*.xls;*.xlsx),*.xlsx", , "タイトル", , True)

If xlsTmps = True And Not xlsTmps Is Nothing Then

    OpenWorkBooks = xlsTmps
Else
    OpenWorkBooks = Nothing
    
    Exit Function
End If


End Function

'指定ブックのオーペン
Public Function OpenWorkBook(obj As Object) As Workbook

Dim xlsTmp As Workbook

If IsObject(obj) Then
    Set xlsTmp = Application.Workbooks.Open(obj)
Else
    Set xlsTmp = Nothing
End If

OpenWorkBook = xlsTmp
Exit Function

End Function
IFunction

 

End

标签:Function,VBA,End,Sub,通常,str,関数,Public,String
From: https://www.cnblogs.com/lnsylt/p/18382659

相关文章

  • VBA学习(60):补充:Excel VBA 选择输入/TreeView控件/在工作表中如何顺利使用TreeView控
    上一篇文章我们分享了一例通过TreeView控件,实现会计科目的选择输入的方法,(ExcelVBA选择输入/TreeView控件):然而,当今天我打开它准备发送给索要示例文件的小伙伴的时候,咦,这是什么鬼?再进入设计模式:TreeView1这个控件,它在啊在代码窗口查看:名称怎么变成了TreeView41?难......
  • XAMPP 的日志文件通常包含详细的错误信息如何查看
    通用解决步骤查看日志文件描述:XAMPP的日志文件通常包含详细的错误信息。解决方法:打开XAMPP安装目录下的 logs 文件夹。查看Apache和MySQL的日志文件。重启服务描述:有时候简单的重启服务就可以解决一些临时性的问题。解决方法:使用XAMPP控制面板重启......
  • try...except 语句通常用于捕获和处理可能在代码执行过程中发生的异常
    在Django中,try...except语句通常用于捕获和处理可能在代码执行过程中发生的异常。这有助于防止程序因未处理的错误而崩溃,并允许开发者优雅地处理错误场景。以下是一些常见的用法示例:1.数据库操作中的异常处理在进行数据库操作时,可能会遇到如数据不存在、唯一性约束违反等问题......
  • VBA学习(50):实现一键对所有工作表进行排序
    要按名称对工作表进行排序,我们可以逐张选定某工作表,按住鼠标将该工作表拖放在所需的位置,从而实现工作表排序的效果。但如果工作表较多,手动拖放进行工作表排序,显然不是最有效率的方式。为此,我们可以借助于VBA实现按工作表名称,一键对所有工作表进行升序或降序排列。对工作表进......
  • Windows 隐蔽 DNS 隧道是一种利用 DNS 协议在网络上进行隐蔽数据传输的技术。DNS(域名
    Windows隐蔽DNS隧道是一种利用DNS协议在网络上进行隐蔽数据传输的技术。DNS(域名系统)通常用于将域名解析为IP地址,但其协议本身并不限制传输的数据内容。因此,攻击者或信息安全专家可能利用这一点,通过DNS请求和响应传输未经授权的数据流量。工作原理数据编码:首先,将要传......
  • 机架式服务器通常适用于哪些场景?
    随着科技的快速发展,机架式服务器也变成了企业选择比较多的服务器设备之一,那么对于企业来说机架式服务器通常都会应用在哪些场景当中呢?下面就让小编来带领大家一起来了解一下吧!与其它的服务器相比,机架式服务器有着相对统计的尺寸并且都是以相对较高的密度来进行堆叠起来的,特别......
  • 什么是VBA?
    一、什么是VBA?        VBA(VisualBasicforApplications)是一种编程语言,它是基于VisualBasic发展而来的,但专为MicrosoftOffice应用程序(如Excel、Word、Access、PowerPoint等)设计。VBA允许用户编写宏(Macro),这些宏可以自动执行一系列任务,从而简化复杂或重复性的工作。......
  • VBA学习(48):利用ADO操作Excel工作表数据
    VBA可以利用ADO创建SQL,从而实现在不打开Excel工作簿的情况下,对工作表的数据进行读写等操作。对于数据量比较大的Excel工作簿,利用ADO模型可以大大提高性能。案例数据D盘有ExcelSQL数据库.xlsx工作簿,工作簿内有【员工信息】工作表,其字段包含工号、姓名、部门、性别和年龄。使......
  • Excel vba自定义函数公式智能提示
    效果如下第一步下载,智能提示显示xll文件Releases·Excel-DNA/IntelliSense(github.com)xll文件报病毒解决办法默认情况下,Excel正在阻止不受信任的XLL加载项-Microsoft支持 第二步,加载xll文件,xll文件放在excel插件目录:%appdata%\Microsoft\AddIns 第三步编写e......
  • VBA语法基础
    注释是用单引号开头‘定义子程序Sub方法名字()...endSub弹出提示框MsgBox"xxxx"变量申明DimxxxAsInterger’可以一次申明多个变量Dimvar1AsString,var2AsInteger如果不指定数据类型,就是自动类型(Variant),会自动变长,会不会自动变小?Dimvar......