2015-04-30 4 views
-1

Я пытаюсь запустить свою программу через 2 книги и 3 листа. чтобы проверить некоторые цифры для меня.Ошибка компиляции: Недопустимый квалификатор

Sub Validate_Old_Data() 

Dim DBLbrow As Double 
Dim DBLAbrow As Double 
Dim DBLBbrow As Double 
Dim STRname As String 
Dim INTcc As Integer 
Dim CopyRange As Range 

DBLbrow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row 

Do While BDLbrow > 5 

STRname = Range("B" & DBLbrow).Value 
INTcc = Range("C" & DBLbrow).Value 

Workbooks("Z:\Centralized Charges\Centralized Charges 2015\Forecast and Actuals\P3\Headcount Templates\P3 Centralized Charges Headcount Tracker (vs. 2015 Budget).xlsx").Activate 

Worksheets(INTcc).Activate 

DBLAbrow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row 

    Do While DBLAbrow > 8 

     If Range("B" & DBLAbrow).Value = STRname Then 

      CopyRange = Range(DBLAbrow).Row.Copy 

      Workbooks("Z:\Centralized Charges\Centralized Charges 2015\Forecast and Actuals\P3\Headcount Templates\Charges Headcount Tracker (vs. 2015 Budget).xlsm").activatae 

      Worksheets(INTcc).activatae 

      DBLBbrow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row 

      If Range("B" & DBLBbrow).Value = STRname Then 

       Range(DBLbrow).Value = CopyRange 

      Else 

       DBLBbrow = DBLBbrow - 1 

      End If 

      Loop 

     Else 
      DBLAbrow = DBLAbrow - 1 


     End If 

     Loop 

BDLbrow = BDLbrow - 1 

End Sub 

Но я получаю сообщение об ошибкеInvalid Qualifier, может кто-нибудь объяснить, почему?

+0

Можете ли вы немного рассказать о том, что вы пытаетесь сделать с этим кодом? Может быть, сузить его до меньшего блока. –

+0

Какая линия останавливается? – Sam

+0

Он останавливается на первой линии ... У меня никогда не было этой проблемы раньше. Цель этого кода состоит в том, чтобы прокрутить список, найти соответствующее значение в электронной таблице B, а затем вернуть все данные, которые у меня есть в таблицу A. –

ответ

1

Ошибки компиляции и времени выполнения всегда включают подсветку, где проблема. Это достаточно пытается запустить код, чтобы увидеть, что компилятор будет выбирать для вас, incorrect qualifier:

enter image description here

Это Rows, не .

Просто добавьте полезную «интуитивную» информацию в этот плохой ответ, чтобы вам помогли в будущем для подобных проблем. При разработке вы можете иметь (Вздох) тысячи ошибок, которые обычно классифицируются в течение двух типов (я буду придерживаться этого примера VBA):

  • Ошибка компиляции: это означает, что «Excel не понимает то, что вы «говоря». Например,, вы используете свойство , которого не существует; Excel не понимает, что вы имеете в виду с и отказывается запускать. Следовательно, код даже не начнет работать, и вы получите белое окно, выделяющее (когда это возможно) «слово, которое Excel не понимает», чтобы вы могли его исправить.
  • Ошибка времени выполнения: Это означает, что «Excel понимает, что вы говорите, но в какой-то момент ему это не нравится». Например, вы пишете k = 2/0; вы не используете «непонятные вещи» для Excel, но когда наступает время, когда ему приходится выполнять деление, его стек переходит в переполнение и вызывает ошибку времени выполнения. В этом случае вы получите серое окно с удобным botton с надписью Debug: вы нажимаете на него, а желтая строка кода будет выделена, это линия, где лежит ошибка.

Прошу прощения за «плохой технический язык», который я использовал, чтобы объяснить это, но я предпочел, чтобы вы сразу поняли. Если вы хотите углубиться в эту важную тему, пожалуйста, прочитайте this.

+1

Yay, рисованные красные стрелки! –

+0

@ Mat'sMug lol, на руку с кофе. –

Смежные вопросы