使用列中的给定值复制和粘贴所有行

时间:2016-04-18 22:33:16

标签: excel vba excel-vba

我一直试图在Excel数据库中创建一个主工作表,允许我在单元格中输入参考编号,然后运行宏来列出参考编号的所有实例。

例如,如果我在单元格E8中输入参考编号0001,我可以单击一个命令按钮,该按钮将查找相邻工作表中出现0001的所有实例,然后复制并粘贴范围内相关的所有行。

这是我目前的代码,但是,没有复制和粘贴。它将清除B35:B100的内容并在结尾处选择单元格E8,但两者之间似乎没有任何内容发生。

为什么复制和粘贴的任何想法都没有用?

Option Explicit
Sub ReturnActions()

Dim itemnumber As String
Dim finalrow As Integer
Dim i As Integer

Sheet1.Range("B35:N100").ClearContents

itemnumber = Sheet1.Range("E8").Value 'master worksheet
finalrow = Sheet3.Range("G10").End(xlUp).Row 'database of information

For i = 2 To finalrow
    If Cells(i, 1) = itemnumber Then
        Sheet3.Range(Cells(i, 2), Cells(i, 12)).Copy 'database worksheet
        Sheet1.Range("B50").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats 'master worksheet
        End If
Next i

Range("E8").Select 'master wowrksheet

End Sub

2 个答案:

答案 0 :(得分:0)

我发现了我出错的地方。我忘了在两张纸之间激活。有效的重新格式化代码是:

  arr = fibonacci(num);
          isFibVal = isFib(num);
          isEvenVal = isEven(num);


    if (isFibVal && !isEvenVal){
        sum  += sumArray(arr);  
}

答案 1 :(得分:0)

使用AutoFilter并粘贴“可见”单元格

会更容易
' Assumes data starts in cell A1 on each sheet
Sheet3.range("A1").Autofilter Criteria1:= Sheet1.Range("E8").Value
Sheet3.range("A1").currentregion.select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheet1.Activate
Sheet1.Range("A1").Select
Sheet1.Paste