我想查看excel文件,在所有工作表中的excel文件中添加新行

时间:2014-01-21 07:02:01

标签: excel excel-vba excel-2007 excel-2010 vba

我有一个带有100 sheets

的excel文件

我的问题是我想做enter image description here

  

我想检查是否在“属性”列中找到了“名称”。

然后添加具有相同值的新记录"DisplayName"行,而"Name"只有"IsMandatory" "N"

如果我在“属性”栏中找到“名称”,我需要检查400张并插入新行

请给我一点想法。如何使用excel查找或透视技术来完成它。 ?

1 个答案:

答案 0 :(得分:1)

Sub Test()
Dim curWorkbook As Workbook
Dim rnge As Range
Dim pasteCell As Integer

Set curWorkbook = ThisWorkbook

For Each wrkSheet In curWorkbook.Worksheets
    wrkSheet.Activate
    pasteCell = Range("A1").End(xlDown).Row + 1
    wrkSheet.Range("A:A").Select

    Set rnge = Selection.Find(What:="Name", After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)

    If rnge Is Nothing Then
        '//Do Nothing
    Else
        wrkSheet.Range("A" & rnge.Row & ":D" & rnge.Row).Copy _
                    Destination:=wrkSheet.Range("A" & pasteCell & ":D" & pasteCell)
        wrkSheet.Range("A" & pasteCell).Value = "Display Name"
        wrkSheet.Range("C" & pasteCell).Value = "N"
        Set rnge = Nothing
    End If
    wrkSheet.Range("A1").Select
Next
End Sub

我假设列引用将保持不变(A:D)。如果每个工作表中的列都会更改,您将首先在工作表中找到正确的列,然后在该列中搜索“名称”属性。