Я пытаюсь создать VBScript, который будет извлекать данные из одной вкладки в Excel, и эти данные заменят определенную строку, доступную в другой вкладке листа Excel.
- Я создал Excel, содержащий две таблицы: «Данные» и «Запрос».
Во вкладке Query есть один столбец «Queryine», и позиция столбца B или 2, которая содержит эту строку ниже.
Select account from table1 where columname=<<field>>
На вкладке данных доступна переменная «поле», содержащая значение 10.
<<field>>
необходимо заменить на это значение 10. Поэтому приведенный выше запрос должен отображаться так:
Select account from table1 where columname=10
Я создал этот VBScript:
Set objexcel = CreateObject("excel.application")
objexcel.Visible = True
Set wb = objexcel.Workbooks.Open("C:\Users\admin\Desktop\Datasheet.xlsx")
Set ws = wb.Worksheets("Query")
Row = ws.UsedRange.Rows.Count
For i = 2 To Row
finalvalue = ws.Cells(i, 2).Value
splitvalues = Split(finalvalue, " ")
For j = 0 To UBound(splitvalues)
correctvalue = splitvalues(j)
If InStr(correctvalue, ">>") > 0 Then
variablename = Trim(Replace(Replace(correctvalue, "<<", " "), ">>", " "))
Set ws = wb.Worksheets("Data")
Col = ws.UsedRange.Columns.Count
Row2 = ws.UsedRange.Rows.Count
For k = 2 To Row2
If variablename = ws.Cells(k, 1).Value Then
For P = 2 To Col
temp2 = ws.Cells(k, P).Value
Latestvalue = Trim(Replace(variablename, temp2))
Set fsoObject = CreateObject("Scripting.FileSystemObject")
filepath = "C:\Users\admin\Desktop"
Set MyFile =fsoObject.CreateTextFile("C:\Users\admin\Desktop\Query.p", 1, True)
MyFile.Write Latestvalue
MyFile.Close
Next
End If
Next
Set MyFile = Nothing
Set fsoObject = Nothing
End If
Next
Next
wb.Close
objexcel.Quit
Set objexcel = Nothing
При попытке запустить файл VBS я получаю сообщение об ошибке:
"Неожиданное следующее"
Также я не уверен, что могу перейти на вкладку «Данные» на вкладке «Запрос».