在单元格中查找特定的字符串,然后对该列(VBA)中的值求和

时间:2019-09-26 22:33:11

标签: excel vba

我正在做一些VB编程,所以找不到解决我问题的方法。由于我是编程新手,所以我想寻求帮助。

我有多个Excel文件,这些文件在单元格中包含某个字符串,在此字符串下方,我想在最后一个单元格中总结不同的数字。

问题是我要查找的带有字符串的列在带约束的工作表中是可变的。

我想知道如何在特定行中搜索字符串,以及何时找到该字符串,我想对该列中的所有数字求和。

谢谢您的帮助。

因此,如果您查看示例,我想找到包含字符串“ aaa | b”的单元格,然后将该列中最后一个单元格下面最后一个单元格中的数字求和。

由于此列位于多个Excel文件的不同位置,因此我必须先找到它并进行所有数学运算。

search and sum example

编辑:这是我所走的路,但是不起作用...

Sub ProcessFiles()
    Dim Filename, Pathname As String
    Dim wb As Workbook



    Pathname = ActiveWorkbook.Path & "C:\AM550_search_macro\to be checked"
    Filename = Dir(Pathname & "*.xlsx")
    Do While Filename <> ""
        Set wb = Workbooks.Open(Pathname & Filename)
        DoWork wb
        wb.Close SaveChanges:=True
        Filename = Dir()
    Loop
End Sub

Sub DoWork(wb As Workbook)
    With wb
        'Do your work here



    Sheets("KSM").Select
    With KSM.Range("row(2)")
    Set c = .Find("1.0.2.8.0.255", LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Value = 5
            Set c = .FindNext(c)
        Loop While Not c Is Nothing
    End If
End With
End Sub

如果有人可以查看,我还上传了一个文件:

https://www.dropbox.com/s/oxixczj0qearf03/test_sheet.xlsx?dl=0

所以总结一下:
-我正在寻找在第2行(静态)中具有“ 1.0.1.8.2.255”并且在第3行(静态)中具有“ <5kWh”的列
-当我找到此列时,我必须对该列中的所有数字求和

如果有人可以帮助我,我将非常感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

以下是您所要求的简要概述。大纲不完整,但确实说明您要求的是简单的解决方案。大纲还包含许多问题-例如如果 ....?应该在请求本身中解决。

'folder chooser

'dir on xls in this folder

    'open xls
    'find row with "HELPER" in column A  (or is it always r=3? what if it is not?)
    'loop 
        find column(s) with keyword aaa|b  (can there be multiple columns?  What if none found?)
       'find last row (down this column? or last row across all columns?)
       'insert in cell below last value a macro =sum(firstcell, lastcell)
    'loop to other columns

    'save xls

'dir to next xls in this folder
'loop to open xls