копировать и вставлять без определенных значений - PullRequest
0 голосов
/ 29 июня 2018

простой вопрос: У меня есть 2 столбца, и я хочу сделать копию и вставить без учета значений, равных 0

A B
x 1
w 0
z 1

Тогда мне нужен следующий результат:

A B
x 1
z 1

Любые комментарии / предложения приветствуются. Большое спасибо

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Поскольку вы не указали, куда вставлять данные, я вставлю новый лист (Sheet2) в первое доступное пустое место в Col A. Я предполагаю, что у вас есть заголовки уже на каждом листе.

Option Explicit
Sub Filter()

Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Sheet1")
Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("Sheet2")

Dim ws1LastRow As Long: ws1LastRow = ws1.Range("A" & ws1.Rows.Count).End(xlUp).Row
Dim ws2LastRow As Long: ws2LastRow = ws2.Range("A" & ws2.Rows.Count).End(xlUp).Offset(1).Row

Application.ScreenUpdating = False

With ws1
  If Not .AutoFilterMode Then .Range("A1").AutoFilter 'Check for filter
    .Range("A1:B1").AutoFilter Field:=2, Criteria1:="<> 0" 'Apply filter (hide 0's)
    .Range("A2:B" & ws1LastRow).Copy 'Copy
    .AutoFilterMode = False 'Remove Filter
End With

ws2.Range("A" & ws2LastRow).PasteSpecial xlPasteValues 'Paste

Application.ScreenUpdating = True
Application.CutCopyMode = False

End Sub

Вам нужно будет поменять местами каждый экземпляр Sheet1 с именем листа, содержащего ваши необработанные данные, и вам нужно будет поменять местами каждый экземпляр Sheet2 с именем листа, куда вы вставляете свои данные.

0 голосов
/ 29 июня 2018
  • Копирование / вставка всего
  • , затем в листе назначения замените "0" на "", используя CTRL + H
  • , затем нажмите F5> «Специальные ...»> «Пробелы»
  • , затем нажмите CTRL + «-» и выберите «весь ряд».
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...