Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用VBA对Excel中的银行对账单进行分类_Vba_Excel - Fatal编程技术网

用VBA对Excel中的银行对账单进行分类

用VBA对Excel中的银行对账单进行分类,vba,excel,Vba,Excel,我想从excel中的规则列表中对银行对账单进行分类。我尝试过使用vlookup,但我希望能够有一个不精确的匹配,据我所知vlookup不适合这种情况 我下载了我的银行对账单,并将它们合并到单独的表格中,希望向其中添加一个类别(以便稍后将不同的表格合并到一个透视表/图表中) 是否有一种简单的方法可以使用vba将另一列添加到名为Category的工作表“语句”中,该语句使用规则为每个事务生成类别 我想要的是: 一个VBA宏将读取列描述,它将匹配Sheet2中许多列中的关键字,列“关键字”,然后在列类

我想从excel中的规则列表中对银行对账单进行分类。我尝试过使用
vlookup
,但我希望能够有一个不精确的匹配,据我所知
vlookup
不适合这种情况

我下载了我的银行对账单,并将它们合并到单独的表格中,希望向其中添加一个类别(以便稍后将不同的表格合并到一个透视表/图表中)

是否有一种简单的方法可以使用vba将另一列添加到名为Category的工作表“语句”中,该语句使用规则为每个事务生成类别

我想要的是:

一个VBA宏将读取列描述,它将匹配Sheet2中许多列中的关键字,列“关键字”,然后在列类别(sheet1)中写入从Sheet2上的列类别中获取的指定分类

我在这上面找到了一条很好的线索,但无法在我的床单上使用:

Sub test()
    Dim lastrow As Long, lastrow2 As Long
    Dim i As Integer, j As Integer
    Dim PatternFound As Boolean

    Call speedup

    lastrow = Sheets("Keywords").Range("A" & Rows.Count).End(xlUp).Row
    lastrow2 = Sheets("SOURCE DATA").Range("E" & Rows.Count).End(xlUp).Row

    For i = 4 To lastrow2
        PatternFound = False
        j = 1
        Do While PatternFound = False And j < lastrow
            j = j + 1
            If UCase(Sheets("SOURCE DATA").Range("E" & i).Value) Like "*" & UCase(Sheets("Keywords").Range("A" & j).Value) & "*" Then
                Sheets("SOURCE DATA").Range("F" & i).Value = Sheets("Keywords").Range("B" & j).Value
                PatternFound = True
            End If
        Loop
    Next i

    Call normal
End Sub
子测试()
将最后一行的长度调暗,最后一行的长度调暗
尺寸i为整数,j为整数
找到的模糊模式为布尔型
呼叫加速
lastrow=工作表(“关键字”).Range(“A”和Rows.Count).End(xlUp).Row
lastrow2=工作表(“源数据”)。范围(“E”和行数。计数)。结束(xlUp)。行
对于i=4到最后一行2
PatternFound=False
j=1
当PatternFound=False且j
很难理解这里的实际问题是什么。你的代码不起作用吗?如果不起作用,它会做什么?这与你希望它做的有什么不同?因为你对图纸和范围有明确的引用,这个问题将受益于对不同范围所包含内容的描述。图片可能会有所帮助。你可以发布一个ink和我会将其添加到帖子中,因为您没有代表添加图片。请通过编辑原始问题添加这些详细信息。请注意,Excel中有一个
FIND
函数,可以在其他单元格中查找任意文本块。这将在数组公式中工作,以在其他单元格中查找关键字。您好,acutal问题是:“我下载的数据是成行的,我如何(半)自动地在每行添加类别标签/单元格?”.我在这个平台上找到了上面的代码,据我所知,它对我来说应该是可用的,但我无法让它工作。它实际上似乎没有任何作用…不知道VBA,这可能是我目前在调试上面的代码时遇到的最大问题。。。