Предлагать пользователю выбрать ячейку во время выполнения макроса, а затем присвоить значение этой ячейки строковой переменной - PullRequest
0 голосов
/ 26 мая 2020

Цель моего макроса - предложить пользователю выбрать ячейку, затем прочитать значение этой ячейки и присвоить его строковой переменной.

Это мой код:

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.

enter image description here

Ищу решение 4 Я прочитал эту ветку поток , потому что эта строка ранее возвращала ошибку Run-time error '1004' : Method 'Range' of object'_Global' failed , поэтому я немного изменил его, и теперь он дает мне это Application-defined or object-defined error.

Что мне нужно написать, чтобы предложить пользователю выбрать ячейку во время выполнения макроса, а затем присвоить значение этой ячейки строковой переменной .

Последнее, что нужно сделать, это Debug.Print sCell в непосредственном окне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...