如何给单元格添加一个值

我正在使用电子表格进行库存扫描部分我试图添加一个A2值旁边的(Target.Row, 5)(row 6)

我如何使A2或A9或下一个扫描值显示在F栏,所以如果E栏和F栏不匹配我知道零件坐在错误的箱子

我试过.Value = Target.Worksheet.Cells(Target.Row, 1).Value但不工作

在这里输入图像说明

这是我完整的代码

 Option Explicit Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Cells.Count > 1 Or IsEmpty(Target) Or Target.Column <> 1 Then Exit Sub If Not SheetExists("WarehouseInventory") Then Exit Sub Dim Result As Variant Set Result = Sheets("WarehouseInventory").Cells.Range("E:E").Find(Target) If Result Is Nothing Then Target.Worksheet.Cells(Target.Row, 2) = "Data New Bin" Else Target.Worksheet.Cells(Target.Row, 2) = Result.Worksheet.Cells(Result.Row, 4) Target.Worksheet.Cells(Target.Row, 3) = Result.Worksheet.Cells(Result.Row, 5) Target.Worksheet.Cells(Target.Row, 4) = Result.Worksheet.Cells(Result.Row, 6) Target.Worksheet.Cells(Target.Row, 5) = Result.Worksheet.Cells(Result.Row, 7) End If End Sub Public Function SheetExists(SheetName As String) As Boolean Dim ws As Worksheet SheetExists = False For Each ws In ThisWorkbook.Worksheets If ws.Name = SheetName Then SheetExists = True Next ws End Function 

这是一个例子,你可以如何实现所需的结果

 Private Sub Worksheet_Change(ByVal Target As Range) Dim x&, y& If Target.Column = 6 Then y = 5: x = Target.Row While Cells(x, y) <> "": x = x - 1: Wend If Cells(Target.Row, 5) <> "" Then Cells(Target.Row, 6) = Cells(x, 1) End If End Sub 

产量

在这里输入图像说明

UPDATE

这里你的更新代码,testing,工作正常,插入到"Cycle Count"

 Private Sub Worksheet_Change(ByVal Target As Range) Dim x&, y&, Result As Range, ws As Worksheet Application.EnableEvents = 0 If Target.Count > 1 Then Application.EnableEvents = 1 Exit Sub End If If Not Intersect(Target, [A1:A99999]) Is Nothing Then With ThisWorkbook For Each ws In .Worksheets If ws.Name = "WarehouseInventory" Then Set ws = .Worksheets("WarehouseInventory") Set Result = ws.[E:E].Find(Target.Value) Exit For End If Next ws If Result Is Nothing Then Target.Offset(, 1).Value = "Data New Bin" Application.EnableEvents = 1 Exit Sub Else Target.Offset(, 1).Value = ws.Range(Result.Address).Offset(, -1).Value Target.Offset(, 2).Value = ws.Range(Result.Address).Value Target.Offset(, 3).Value = ws.Range(Result.Address).Offset(, 1).Value Target.Offset(, 4).Value = ws.Range(Result.Address).Offset(, 2).Value y = 5: x = Target.Row While .ActiveSheet.Cells(x, y) <> "": x = x - 1: Wend Target.Offset(, 5).Value = .ActiveSheet.Cells(x, 1).Value End If End With End If Application.EnableEvents = 1 End Sub 

示例文件在这里http://www.filedropper.com/book1_5

那么Target.Worksheet.Cells(Target.Row, 6).Value = Target.Worksheet.Cells(Target.Row,1).Value

如果只需要A2,则在所有行中将Target.Rowreplace为2