У меня много проблем, пытаясь понять это.

Это мой макет:

скриншот макета

Как видите, у меня 2 кнопки.

Я хотел бы, чтобы каждая кнопка была:

  1. Каждый раз, когда я нажимаю YES , он вставляет Y в ячейку в определенном диапазоне.
  2. Если я снова YES , он автоматически вставит Y в следующую ячейку под предыдущей в том же столбце.
  3. Если я нажму NO , он также продолжит вниз по столбцу и вставит N

Как сделать так, чтобы кнопки всегда выводили следующую свободную ячейку?

1 ответ1

3

Я собираюсь предположить, что остальная часть вашего кода выполнена, и вам нужен какой-то метод, чтобы получить строку для вставки ваших значений. Вот фрагмент кода, который лучше всего работает, если ваши данные не очень большие, и вы предпочитаете циклы:

Dim rNext as Long
rNext = 2   'First used row in column F
Do Until LenB(Range("F" & rNext).Value) = 0
    rNext = rNext + 1
    If rNext = ActiveSheet.Rows.Count Then Exit Do
Loop

И вот решение, которое является более надежным и немного быстрее:

Dim rNext As Long
rNext = Range("F2:F" & Cells.Rows.Count).Find(vbNullString).Row

Как вы могли бы сказать из второго примера, вы можете сделать это напрямую с помощью следующего:

Range("F2:F" & Cells.Rows.Count).Find(vbNullString).Value = "Y"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .