Цель моего макроса - предложить пользователю выбрать ячейку, затем прочитать значение этой ячейки и присвоить его строковой переменной.
Это мой код:
Sub update_custdb_from_id_number_to_the_right()
Application.ScreenUpdating = False
'Application.DisplayAlerts = False
Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Dim excelApp As Excel.Application
Dim mySheet As Excel.Worksheet
Dim Para As Word.Paragraph
Dim wordRng As Word.Range
Dim fullName As Word.Range
Dim exclRng As Excel.Range
Dim scndRng As Excel.Range
Dim pStart As Long
Dim pEnd As Long
Dim Length As Long
Dim startPos As Long
Dim endPos As Long
Dim parNmbr As Long
Dim x As Long
Dim flag As Boolean
Dim sCell As String
Dim intRow As Integer
'Assigning object variables and values
Set wordApp = GetObject(, "Word.Application")
Set excelApp = GetObject(, "Excel.Application")
Set wordDoc = wordApp.ActiveDocument
Set mySheet = Application.ActiveWorkbook.ActiveSheet
Set wordRng = wordApp.ActiveDocument.Content
Set scndRng = ActiveSheet.Range("A1")
sCell = ActiveWorkbook.ActiveSheet.Range(Application.InputBox(Prompt:="Pick the Cell", Type:=8)).Value 'sCell = Range(Application.ActiveWorkbook.ActiveSheet.InputBox(Prompt:="Pick the Cell", Type:=8)).Value
' Application-defined or object-defined error
sCell = Trim(sCell)
Debug.Print sCell
intRow = 1
x = 11
End Sub
При запуске этого макроса я получаю Application-defined or object-defined error
в строке sCell = ActiveWorkbook.ActiveSheet.Range(Application.InputBox(Prompt:="Pick the Cell", Type:=8)).Value
. Я нажимаю F8, чтобы отладить строку выше, и появляется InputBox
.
Затем я набираю B4 или B6 в InputBox
и когда нажимаю OK, набираю Application-defined or object-defined error
.
Ищу решение 4 Я прочитал эту ветку поток , потому что эта строка ранее возвращала ошибку Run-time error '1004' : Method 'Range' of object'_Global' failed
, поэтому я немного изменил его, и теперь он дает мне это Application-defined or object-defined error
.
Что мне нужно написать, чтобы предложить пользователю выбрать ячейку во время выполнения макроса, а затем присвоить значение этой ячейки строковой переменной .
Последнее, что нужно сделать, это Debug.Print sCell
в непосредственном окне.