Вопрос по vba, excel – Как определить, относится ли редактируемая ячейка к последней строке определенного диапазона имен

1

У меня есть определенный вызов имени & quot; Input_Range & quot ;. Если редактируется последняя пустая строка входного диапазона (добавить значение в пустую строку), вставьте пустую строку автоматически.

Я работал над этой проблемой в течение нескольких дней, но не нашел решения. Я могу сделать только: Событие Worksheet_change для определения, были ли отредактированы или выбраны данные в пределах определенного диапазона имен, а затем вставьте строку. Даже если я редактирую непустую строку (например, первую строку диапазона), она все равно добавляет еще одну строку.

Пожалуйста помоги!

=========================

Я просто думаю о проблеме и, вероятно, могу это сделать: если в диапазоне нет пустой строки (& quot; Input_range & quot;), вставьте пустую строку. Я не думал об этом. Что ж, еще нужно научиться определять, является ли строка диапазона пустой, но это лучше. Я буду работать над этим, и если у меня возникнут проблемы, пожалуйста, помогите мне.

Error: User Rate Limit Exceeded Jon Crowell
Error: User Rate Limit Exceededjkp-ads.com/Articles/Excel2007Tables.asp Doug Glancy
Error: User Rate Limit Exceededi49.tinypic.com/2zqc775.jpgError: User Rate Limit Exceeded NCC

Ваш Ответ

1   ответ
2

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim MRange As Range, rng As Range

    On Error GoTo Whoa

    Set MRange = Range("InputRange")

    '~~> Get the last Row of the range
    Set rng = MRange.Range(MRange.Cells(MRange.Rows.Count, 1), _
    MRange.Cells(MRange.Rows.Count, MRange.Columns.Count))

    '~~> Trap changes in the last row of the range
    If Not Intersect(Target, rng) Is Nothing Then
        'If Application.WorksheetFunction.CountA(rng) > 0 Then
            'Application.EnableEvents = False

            'rng.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        'End If
    End If

LetsContinue:
    Application.EnableEvents = True
    Exit Sub
Whoa:
    MsgBox Err.Description
    Resume LetsContinue
End Sub
Error: User Rate Limit Exceeded NCC
Error: User Rate Limit Exceeded

Похожие вопросы