Excel 将“减少”值从一张图纸增加到另一张图纸VBA

Excel 将“减少”值从一张图纸增加到另一张图纸VBA,excel,vba,Excel,Vba,我有一张纸名为Sheet3,另一张是Sheet4。表3:A列标题是产品类型,B列是数量,表4有相同的列标题。产品类型和数量。但当我在Sheet3中的宏下面运行时,有时它们会正确地将值添加到 表4,有时它们不能正常工作 Sub Increase_Value() Sheets("Sheet3").Select Cells.Find(What:=Sheet4.Range("A2").Value, After:=ActiveCell, L

我有一张纸名为Sheet3,另一张是Sheet4。表3:A列标题是产品类型,B列是数量,表4有相同的列标题。产品类型和数量。但当我在Sheet3中的宏下面运行时,有时它们会正确地将值添加到 表4,有时它们不能正常工作

    Sub Increase_Value()

    Sheets("Sheet3").Select
    Cells.Find(What:=Sheet4.Range("A2").Value, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    Sheets("Sheet4").Select
    Range("A2").Select
    ActiveCell.Offset(0, 1).Activate
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet3").Select
    ActiveCell.Offset(0, 1).Activate
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _
        False, Transpose:=False
    Range("E10").Select

        Sheets("Sheet3").Select
    Cells.Find(What:=Sheet4.Range("A3").Value, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    Sheets("Sheet4").Select
    Range("A3").Select
    ActiveCell.Offset(0, 1).Activate
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet3").Select
    ActiveCell.Offset(0, 1).Activate
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _
        False, Transpose:=False
    Range("E10").Select
    
        Sheets("Sheet3").Select
    Cells.Find(What:=Sheet4.Range("A4").Value, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    Sheets("Sheet4").Select
    Range("A4").Select
    ActiveCell.Offset(0, 1).Activate
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet3").Select
    ActiveCell.Offset(0, 1).Activate
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _
        False, Transpose:=False
    Range("E10").Select
    Sheets("Sheet4").Select
    Range("A2:B4").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A2").Select
    ActiveWorkbook.Save
End Sub
例如:
如果Sheet3范围A3=**Coca-Cola**,B3=**20**
,当我使用宏
增大_值()
时,VBA应在Sheet4列A中找到值Coca-Cola,如果在第10行(A10)中找到值,则将Sheet3范围B3中的值20添加到Sheet4范围B10中。
如果B10是47,那么在运行宏之后,它应该是67。

看起来您正在尝试做一些vlookup可以轻松解决的事情?您也可以在VBA中执行vlookups

下面是精确的公式-
''Application.WorksheetFunction.vlookup(查找值、表数组、列索引数、范围查找)''

您可以在此处找到有关这方面的更多信息:


谢谢,

谢谢您的快速回复,诺尼泰克先生。Vlookup用于从表中获取值,但我希望增加和减少值。像股票加,股票减。大家好,欢迎来到Stack Overflow!请务必阅读并确认。