私は以下のVBAコードは、これらのワークブックのすべてのセルC15からの電子メールアドレスを取得し、そのように列Uに追加し、列Gvbaは複数のブックから値を取得します。
Folder\File1.xls
Folder\File2.xls
Folder\File3.xls
Folder\File4.xls
を下に記載されている他のブックとワークブックがあります。
Folder\File1.xls Email
Folder\File2.xls Email
Folder\File3.xls Email
Folder\File4.xls Email
を
これは私のコードです。
'//Email copy code
Dim startCell As Range, fileRng As Range
Dim files As Variant, values() As Variant, values2() As Variant
Dim path As String, file As String, arg As String
Dim r As Long, i As Long
'Acquire the names of your files
With ThisWorkbook.Worksheets(1) 'amend to your sheet name
Set startCell = .Range("G17") 'amend to start cell of file names
Set fileRng = .Range(startCell, .Cells(.Rows.Count, startCell.Column).End(xlUp))
End With
files = fileRng.Value2
'Size your output array
ReDim values(1 To UBound(files, 1), 1 To 1)
'Populate output array with values from workbooks
For r = 1 To UBound(files, 1)
'Create argument to read workbook value
i = InStrRev(files(r, 1), "\")
path = Left(files(r, 1), i)
file = Right(files(r, 1), Len(files(r, 1)) - i)
arg = "'" & path & "[" & file & "]Sheet1'!R15C3"
'Acquire the value
values(r, 1) = ExecuteExcel4Macro(arg)
Next
'Write values to sheet
fileRng.Offset(, 20).Value = values
このコードは自宅の私のラップトップコンピュータで動作します。しかし、職場では、私のIT部門はCMDやその他のシェル機能の使用を無効にしています。このコードは、このコードがワークブックの価値を引き出すために使用すると考えています。
この結果、このコードはC15列の値を取得しません。
誰でも私に回避策を教えてもらえますか?おかげ
私はあなたに昨日与えたコードのようなコードを見ています(http://stackoverflow.com/questions/41637137/vba-get-email-address-from-each-workbook-in-a)。 〜範囲/ 41657368#41657368) - 少なくともあなたのソースを参照する必要があります。もう1つは、2つの答えが2つしかないうちに2つの質問に7つの質問がありますが、このサイトがどのように動作するかはわかりません。おそらく、あなたは他の人に求めているすべての仕事に対して、ある程度の猶予を示すべきです。 – Ambie