ActiveCell.не нацелен на активную ячейку в Excel VBA - PullRequest
0 голосов
/ 13 декабря 2018

Я создал (частично скопировал) макрос, который, в зависимости от выделения на первом листе, добавляет строку на первом и втором листах в одном месте.

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

Я очень плохо знаком с VBA и был бы очень благодарен за помощь в решении этой проблемы.

Вот мой код для добавления строки (удаление работ по тому же принципу):

Sub Add_Row()

    Application.ScreenUpdating = False

    ActiveSheet.Unprotect
    With ActiveWorkbook.ActiveSheet
        If .FilterMode Then
            .ShowAllData
        End If
    End With

    Sheets("People to Project").Select
    ActiveSheet.Unprotect
    With ActiveWorkbook.ActiveSheet
        If .FilterMode Then
            .ShowAllData
        End If
    End With

    r0w = ActiveCell.Row
    c0l = ActiveCell.Column

    ThisWorkbook.Sheets("Overview").Cells(r0w, c0l).EntireRow.Insert
    ThisWorkbook.Sheets("People to Project").Cells(r0w, c0l).EntireRow.Insert

    Sheets("Overview").Select
    Range(Cells(r0w, 17), Cells(r0w, 48)).Select
    Selection.Style = "1. Projectfield"

    Sheets("People to Project").Select

    ActiveSheet.Unprotect

    Range(Cells(r0w, 12), Cells(r0w, 43)).Select
    Selection.Style = "1. Projectfield"

    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
                        False, AllowFormattingCells:=True, AllowFiltering:=True

    Sheets("Overview").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
                        False, AllowFormattingCells:=True, AllowFiltering:=True

    Application.ScreenUpdating = True

End Sub

1 Ответ

0 голосов
/ 13 декабря 2018

Спасибо за быструю помощь!

Следующий код после деактивации фильтров решил мою проблему:

Sheets("Overview").Select

Отключение для дальнейших приключений с VBA:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...