Hi Im beginner to VBA excelКак отобразить результат на другом листе, который отображается на одном листе в excel с помощью vba?
Я написал код, который автофильтрует все столбцы по моему требованию. Мое требование:
- результат должен быть отображен на новом листе (например, sheet2), скорее показывая на том же листе (скажем, на листе 1).
- Предположим, если я искупил код несколько раз, он всегда открывает только один лист (i.e sheet2) не так много листов, а также его автообновление sheet2, если я еще раз измучу код и должен отобразить ожидаемый результат .
Вот мой код:
Sub stack()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim filterrange As Range
Set ws1 = ThisWorkbook.Sheets("sheet1")
Set ws2 = ThisWorkbook.Worksheets.Add(after:=ActiveSheet)
ws2.Name = "abc"
Set filterrange = ThisWorkbook.Sheets("sheet1").Cells(2, ThisWorkbook.Sheets("sheet1").Cells(1, Columns.Count).End(xlToLeft).Column) ' get columns e.g. name, state, etc.
filterrange.AutoFilter Field:=11, Criteria1:=Array("GBR" _
, "MAD", "NCE", "="), Operator:=xlFilterValues
filterrange.AutoFilter Field:=21, Criteria1:="Yes" ' activeconnect
filterrange.AutoFilter Field:=24, Criteria1:="=" ' clustername
filterrange.AutoFilter Field:=6, Criteria1:= _
"<>*@sca.com*", Operator:=xlAnd ' e-mail
filterrange.AutoFilter Field:=10, Criteria1:=Array(_
"Madrid", "Sophia-antipolis"), Operator:=xlFilterValues
For Each cell In filterrange.CurrentRegion.SpecialCells(xlCellTypeVisible).Rows
If Cells(cell.Row, 24) = "" Then
Select Case Cells(cell.Row, 11).Value
Case "NCE"
Cells(cell.Row, 24) = "ncew.net"
Case "MAD"
Cells(cell.Row, 24) = "muc.net"
End Select
End If
Next cell
filterrange.SpecialCells(xlCellTypeVisible).Copy
ws2.Activate
ws2.Range("a1").PasteSpecial (xlPasteValues)
End Sub
Мой код показывает тот же результат в двух разных листах (т.е. sheet1 и sheet2). Фактические данные должны оставаться неизменными в листе1, и результат должен отображаться на листе2. может кто-нибудь, пожалуйста, помогите мне.
Вы фильтруете в Sheet1, а затем копируете видимые строки на новый лист. Sheet1 покажет отфильтрованные данные, пока вы не отмените фильтр. –
@TonyDallimore, так что мне нужно изменить в моем коде. не могли бы вы разместить свой код. – sreekanth