Microsoft Excel - 如何将行从一个 sheet 复制到另一个 sheet 按值过滤的行
Microsoft Excel - how do I copy rows from one sheet to another sheet filtered by a value
示例:
我的 Sheet1 看起来像这样:
在 Sheet2 中,我想要这样的输出(这里我想获取包含项目 'CAMERA' 的所有行):
我很难为产品Sheet2编写公式,你能帮我用什么公式吗?
这个宏应该可以解决问题:
第 1 步:按 Alt+F11 打开 'Microsoft Visual Basic for Applications'
第 2 步:按 F7 打开空白代码 sheet
第 3 步:将以下代码复制到 sheet:
Sub FilterandCopy()
Dim Equipment As String
Equipment = InputBox("Which piece of equipment?")
With ActiveSheet.Range("A:D")
.AutoFilter Field:=1, Criteria1:="" & Equipment & ""
End With
ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Copy _
Destination:=Worksheets("Sheet2").Range("A2")
Sheets("Sheet2").Range("A1").Value = "" & Equipment & ""
End Sub
第 4 步:点击红色 x 关闭 Visual Basic。
第 5 步:在您的传播sheet 中,转到开发人员选项卡,然后单击 'Macros' 按钮。
第 6 步:Select 刚刚创建的宏(称为 FilterandCopy)并单击 运行。 (注意:会弹出一个询问设备类型的窗口,输入 CAMERA
以获取相机项目)
我喜欢你得到的解决方案,
然而,这是另一个可能对您有帮助的想法:
* 这假设您从过滤器中选择了 "by hand" 一个单一值。
Public Sub CopySheet()
' Clear prev data
Sheet2.Rows.ClearContents
Sheet2.Rows.Delete
' Copy filterd data
Sheet1.Activate
Sheet1.UsedRange.Select
Selection.Copy
' Paste the filterd data
Sheet2.Activate
Sheet2.Range("A2").Select
ActiveSheet.Paste
' Copy the filtered "word" to sheet2, for example- "Camera"
Sheet1.Range("A2").Copy
Sheet2.Range("A1").Select
ActiveSheet.Paste
' Increase the size of the word above.
Sheet2.Range("A1").Font.Size = Sheet2.Range("A1").Font.Size + 5
End Sub
示例:
我的 Sheet1 看起来像这样:
在 Sheet2 中,我想要这样的输出(这里我想获取包含项目 'CAMERA' 的所有行):
我很难为产品Sheet2编写公式,你能帮我用什么公式吗?
这个宏应该可以解决问题:
第 1 步:按 Alt+F11 打开 'Microsoft Visual Basic for Applications'
第 2 步:按 F7 打开空白代码 sheet
第 3 步:将以下代码复制到 sheet:
Sub FilterandCopy()
Dim Equipment As String
Equipment = InputBox("Which piece of equipment?")
With ActiveSheet.Range("A:D")
.AutoFilter Field:=1, Criteria1:="" & Equipment & ""
End With
ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Copy _
Destination:=Worksheets("Sheet2").Range("A2")
Sheets("Sheet2").Range("A1").Value = "" & Equipment & ""
End Sub
第 4 步:点击红色 x 关闭 Visual Basic。
第 5 步:在您的传播sheet 中,转到开发人员选项卡,然后单击 'Macros' 按钮。
第 6 步:Select 刚刚创建的宏(称为 FilterandCopy)并单击 运行。 (注意:会弹出一个询问设备类型的窗口,输入 CAMERA
以获取相机项目)
我喜欢你得到的解决方案, 然而,这是另一个可能对您有帮助的想法: * 这假设您从过滤器中选择了 "by hand" 一个单一值。
Public Sub CopySheet()
' Clear prev data
Sheet2.Rows.ClearContents
Sheet2.Rows.Delete
' Copy filterd data
Sheet1.Activate
Sheet1.UsedRange.Select
Selection.Copy
' Paste the filterd data
Sheet2.Activate
Sheet2.Range("A2").Select
ActiveSheet.Paste
' Copy the filtered "word" to sheet2, for example- "Camera"
Sheet1.Range("A2").Copy
Sheet2.Range("A1").Select
ActiveSheet.Paste
' Increase the size of the word above.
Sheet2.Range("A1").Font.Size = Sheet2.Range("A1").Font.Size + 5
End Sub