Вставьте строку и скопируйте форматирование, но только для определенных столбцов - PullRequest
0 голосов
/ 08 мая 2019

Я использую следующий код для вставки строки под ячейкой при двойном щелчке, а также для копирования форматирования и формулы сверху.Однако я бы хотел, чтобы он копировал формулы и форматирование только из столбцов A: K.

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

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    Target.Offset(1).EntireRow.Insert
    Target.EntireRow.Copy Target.Offset(1).EntireRow
    On Error Resume Next
    Target.Offset(1).EntireRow.SpecialCells(xlConstants).ClearContents
End Sub

1 Ответ

0 голосов
/ 08 мая 2019

Делает ли это то, что вы хотите?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Row = 1 Then Exit Sub

    Cancel = True

    Application.ScreenUpdating = False

    With Target.Worksheet
        .Rows(Target.Row + 1).Insert (xlDown)

        .Rows(Target.Row + 1).Clear
        .Range("A" & Target.Row & ":K" & Target.Row).Copy

        With .Range("A" & Target.Row + 1 & ":K" & Target.Row + 1)
            .PasteSpecial xlPasteFormats
            .PasteSpecial xlPasteFormulas

            ' Remove this code here if you DON'T want to clear the cells
            ' that do not have formulas.
            On Error Resume Next
            .SpecialCells(xlCellTypeConstants).ClearContents
            On Error GoTo 0
        End With
    End With

    Application.CutCopyMode = False
    Target.Activate
    Application.ScreenUpdating = True
End Sub

... если так, добавьте проверку ошибок и любые дополнительные требования, и, надеюсь, это хорошо.

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