複数のモジュールにわたって同じ変数を持つプロジェクトがたくさんあります。各モジュールでは、変数とそれを同じ変数型で同じ値を持つたびに設定します。プロジェクト/ワークブック全体で変数を暗くして設定するにはどうすればよいですか?すべてのモジュールに変数を設定し、すべてのモジュールに変数を設定します。
例:(私はモジュール間で変更されない他の多くの類似した変数と一緒に、以下のすべてを繰り返さなければならなかったワークブックの多くのモジュールを持っている)
Sub PullSFAFiles()
Dim Wb As Workbook
Dim WsSFAFiles As Worksheet
Dim WsAllCourses As Worksheet
Dim rngAllCourses As Range
Dim rngCourse As Range
Dim LoSFAFiles As ListObject
Dim rngPreviousFiles As Range
Dim rngRemoveLines As Range
Dim strCourse As String
Dim strApp As String
Dim strPeCFldrPath As String
Dim strFileLocation As String
Dim strFileNm As String
Dim objFile As Object
Dim intSFARow As Integer
Dim intCourseRow As Integer
Dim intPFilesRow As Integer
Dim dtLastUpdate As Date
Dim intNumRemove As Integer
Set Wb = ThisWorkbook
Set WsSFAFiles = Wb.Sheets("sfafiles")
Set WsAllCourses = Wb.Sheets("allcourses")
Set rngAllCourses = WsAllCourses.Range("tblAllCourses[CourseName]")
Set LoSFAFiles = WsSFAFiles.ListObjects("tblSFAFiles")
strEBTypeFolder = "Exercise Booklet"
strEBfiletype = "EB"
strCISTypeFolder = "Classroom Information Sheet"
strCISfiletype = "CIS"
intCourseRow = rngCourse.Row - 1
strCourse = rngCourse.Value
strApp = WsAllCourses.Range("tblallcourses[application]").Rows(intCourseRow)
strPeCFldrPath = "\\Cx138\training\Live\Credentialed Trainers\"
strEBFileLocation = strApp & "\" & strTypeFolder & "\" & strCourse & "_" & strEBfiletype & "*" & ".pdf"
strEBFileNm = Dir(strPeCFldrPath & "\" & strEBFileLocation)
strCISFileNm = Dir(strPeCFldrPath & "\" & strCISFileLocation)
これらのすべてを保持するクラスと、そのクラスのインスタンスを返すFunctionを使用できます。 –
このリンクをチェック:http://stackoverflow.com/questions/27576457/how-to-declare-global-variables-in-excel-vba-to-be-visible-accross-the-workbook – bzimor