Здравствуйте.
Предполагая критику со стороны сторожил этого проекта, все же задам такой вопрос: у меня есть открытая таблица, в ней я создал функцию, которая должна открывать другой документ, собирать из него данные и далее их неким образом обрабатывать. Так вот по ниже приведенному коду, функция собирает данные из активного листа, а не из открытого с помощью оператора Workbooks.Open
Как мне собрать данные именно из открытого листа?
Public Articul(500) As String
Public Quality(500) As String
Public Function Update(NameOfCell As String) As Integer
Call a
For i = 2 To UBound(Articul)
If NameOfCell = Articul(i) Then
Update = Quality(i)
Exit Function
End If
Next i
Update = 0
End Function
Public Sub a()
Dim NameOfFile As String
Dim ArtRangeName As String
Dim QualityRangeName As String
Dim Temp
Workbooks.Open ("Daniel AW12 (Textile 69) 1st invoice - 1st shipment.xlsx")
For i = 2 To 500
ArtRangeName = "a" & i
QualityRangeName = "j" & i
Articul(i) = ActiveSheet.Range(ArtRangeName).Text
Quality(i) = ActiveSheet.Range(QualityRangeName).Text
Next i
Workbooks.Close
End Sub
Предполагая критику со стороны сторожил этого проекта, все же задам такой вопрос: у меня есть открытая таблица, в ней я создал функцию, которая должна открывать другой документ, собирать из него данные и далее их неким образом обрабатывать. Так вот по ниже приведенному коду, функция собирает данные из активного листа, а не из открытого с помощью оператора Workbooks.Open
Как мне собрать данные именно из открытого листа?
Public Articul(500) As String
Public Quality(500) As String
Public Function Update(NameOfCell As String) As Integer
Call a
For i = 2 To UBound(Articul)
If NameOfCell = Articul(i) Then
Update = Quality(i)
Exit Function
End If
Next i
Update = 0
End Function
Public Sub a()
Dim NameOfFile As String
Dim ArtRangeName As String
Dim QualityRangeName As String
Dim Temp
Workbooks.Open ("Daniel AW12 (Textile 69) 1st invoice - 1st shipment.xlsx")
For i = 2 To 500
ArtRangeName = "a" & i
QualityRangeName = "j" & i
Articul(i) = ActiveSheet.Range(ArtRangeName).Text
Quality(i) = ActiveSheet.Range(QualityRangeName).Text
Next i
Workbooks.Close
End Sub