У меня есть код VBA, который обновляет значения многих ячеек на основе значения предыдущей ячейки. На данный момент я могу заставить его работать на один ряд информации. Тем не менее, я бы хотел, чтобы он работал более нескольких строк. Я пишу и копирую + вставляя фрагменты кода, так что есть хороший шанс, что это просто отсутствие согласованности.Имейте процесс работы для более чем одной строки в VBA
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rwIndex As Integer
For rwIndex = 4 To 400
If Target.Address = Cells(rwIndex, 3) Then
If Range(Target.Address).Value = "Intrinsic" Then
Dim LYVMessage
LYVMessage = "Enter Last Year's Value"
Cells(rwIndex, 5).Value = InputBox(LYVMessage)
Else
Cells(rwIndex, 5).Value = "NA"
Cells(rwIndex, 6).Value = "NA"
Cells(rwIndex, 9).Value = "NA"
Cells(rwIndex, 10).Value = "NA"
Cells(rwIndex, 11).Value = "NA"
Cells(rwIndex, 12).Value = "NA"
Cells(rwIndex, 7).Value = "NA"
Cells(rwIndex, 8).Value = "NA"
QMessage = "Enter whether Quantity is a Fixed Variable (1) or Random Variable (Logistic or Triangular)"
Cells(rwIndex, 13).Value = InputBox(QMessage)
PMessage = "Either Enter a Fixed Value for Price, or Enter Whether it is a Random Variable (Logistic or Triangular)"
Cells(rwIndex, 14).Value = InputBox(PMessage)
End If
End If
Next rwIndex
End Sub
Когда я обновляю клетки-мишени, я получаю ошибку, которая говорит: «Ошибка компиляции: Sub или функция не определена.»
Может ли кто-нибудь сказать мне, что происходит?
Где вы размещали этот код? Он должен идти на ЛИСТ и НЕ в модуле, так как это событие изменения –
Это не сотовый, а ячейки с S. Но этот код тоже не будет приседать. Вы хотите изменить значения только в том случае, если вы что-то изменили в столбце C и между строками 4 и 400? Это оно? –
Это в листе. И да, я только хочу, чтобы значения менялись, если что-то в столбце C было изменено. – Chris