Excel VBA несколько ошибок во время выполнения в макросе для отправки данных между двумя листами

#excel #vba

#преуспеть #vba

Вопрос:

У меня есть код, созданный для отправки данных из типа пользовательского поля статической формы (CAB) (лист AJOUTER_PV) на лист «Inventaire».

Для области обхода задан диапазон из двух строк, называемый «table1». Пример Я ввожу в ручное поле статической формы идентификатор С ИМЕНЕМ «CAB», и этот уникальный идентификатор будет отправляться в первые строки первой, второй, третьей … строк «CAB» каждый раз, когда я нажимаю кнопку макроса (и с помощью vlookup для других строк данные отображаются в каждой строке).

Проблема в том, что я получаю ошибки несоответствия типов 13, ошибки объявления, ошибки компиляции, не определенный блок (от LastRow ……. до .row блока)… поэтому я даже не могу разрешить один, чтобы получить новый.

Я ожидаю ошибки, связанной с WX za WsPV WsInv синтаксисом .. и соответствующими настройками объявления.

Полный код:

 Option Explicit
    
Sub Macro1()
    '
    ' Macro1 Macro
    '
    Dim WsPV As Range
    Dim WsInv As Range
    Set WsPV = Worksheets("AJOUTER_PV")
    Set WsInv = Worksheets("Inventaire")
    Dim Id  As Variant
    Set Id = WsPV.Cells(6, "K").Value
    Dim LastRow As Long
    Dim WX As Range
    Set WX = Range("table1").ListObjects
    Dim za As Range
    Set za = WsInv.WX
    Dim LastRow As Variant
    
    LastRow = WsInv.Find(What:=" * ", _
    After:=WsInv.Cells(1), _
    Lookat:=xlPart, _
    LookIn:=xlFormulas, _
    SearchOrder:=xlByRows, _
    SearchDirection:=xlPrevious, _
    MatchCase:=False).Row
    
    WsInv.Parent.Cells(LastRow   1, 1).Value = Id.Value
    '
End Sub
 

Любая помощь будет оценена. С уважением.

Комментарии:

1. В этом коде есть только одна ошибка времени компиляции, повторяющееся объявление LastRow . Удалите одну из них. Однако существует множество ошибок во время выполнения из-за всех объявленных переменных As Range , хотя ни одна из них не хранит диапазоны.

2. Итак, что вы предлагаете с объявленными переменными.. например, для удаления объявлений?

3. Объявить их как то, что они должны содержать. WsPV предполагается, что он содержит рабочий лист, поэтому объявите его As Worksheet .