Макрос Excel для копирования листа только в новые значения вставки листа - PullRequest
0 голосов
/ 20 февраля 2019

Я работаю над макросом в Excel, который создаст копию текущего листа и вставит значения в новый лист.Имя листа будет таким же, как и число после него [т.е. Sheet, Sheet1 (2)]

Мой код делает это правильно, за исключением того, что он копирует и вставляет все в Sheet1 (2).Я только хочу вставить значения (не формулы) из Sheet1 в Sheet1 (2).Я новичок в VBA в лучшем случае, поэтому любые предложения с благодарностью.

Sub SPACER_Button4_Click()
' Compile Button to Generate Quote
'
'variables definitions
ActiveSheetValue = ActiveSheet.Name
'
'This section creates a copy of the active worksheet and names it with the next corresponding number
    Sheets(ActiveSheetValue).Copy After:=Sheets(ActiveSheetValue)

'This section should look for X value in each row, column 4. If value equals X, it deletes the row on the copied sheet
Dim i As Integer
i = 26
Do Until i > 300
    If ActiveSheet.Cells(i, 11).Value = "X" Then
        Rows(i).Delete
        Skip = True
    End If
    '
    If Skip = False Then
        i = i + 1
    End If
    '
    Skip = False
Loop

'This part hides columns on Right K thru R of new copied sheet
    Sheets(ActiveSheet.Name).Range("K:R").EntireColumn.Hidden = True
End Sub

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Я использую что-то вроде этого:

Sub KopyKat()
Dim s1 As Worksheet, s2 As Worksheet
Dim r As Range, addy As String

Set s1 = Sheets("Sheet1")
Set s2 = Sheets("Sheet2")

For Each r In s1.UsedRange
    If r.Value <> "" Then
        If Not r.HasFormula Then
            addy = r.Address
            r.Copy s2.Range(addy)
        End If
    End If
Next r

End Sub
0 голосов
/ 20 февраля 2019

Если данные смежные, рассмотрите возможность создания нового листа, выбора и копирования диапазона данных и вставки на новый лист с использованием приведенного ниже кода.

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...