先在此感謝閱讀與幫忙
1.需求(分頁一,項目名稱旁邊數值) - (分頁二,A1儲存格數值)
2.需搜尋(分頁一 B欄字串)項目名稱,此字串在B欄,但不是固定在B2
嘗試後所遇到的問題,如果項目名稱在B2儲存格,則使用Offset(-1, 1)可選取旁邊C2數值。
但是,項目名稱在B欄其他位置,使用Offset(-1, 1),會跑到其他儲存格。
以下列出嘗試寫出的VBA,求幫忙修善,非常感謝。
Sub TEST()
Sheets("分頁二").Select
If Range("A1") <> "" Then
Sheets("分頁一").Select
Range("B1").Select
For i = 2 To 6
If Cells(i, "B").Value = 項目名稱 Then
Cells(i, "B").Offset(-1, 1).Copy
Range("D1").PasteSpecial xlPasteValuesAndNumberFormats
If Cells(i, "B").Value = 項目名稱 Then
Cells(i, "B").Offset(-1, 1).Select
ActiveCell.FormulaR1C1 = Range("D1") - Sheets("分頁二").Range("A1")
Range("D1").ClearContents
End If
Exit For
End If
Next
End If
End Sub
試試看吧!
Sub TEST()
Worksheets("分頁一").Columns("B:B").Find("項目名稱").Offset(0, 1) = Worksheets("分頁一").Columns("B:B").Find("項目名稱").Offset(0, 1) - Worksheets("分頁二").Range("A1")
End Sub
Worksheets("分頁一").Columns("B:B").Find("項目名稱").Offset(0, 1) => 找到"項目名稱"的旁邊一格
Sub Test()
Dim rngFind As Range
Set rngFind = Worksheets("分頁一").UsedRange.Find("項目名稱")
If Not rngFind Is Nothing Then
With rngFind
.Next.Value = .Next.Value - Worksheets("分頁二").Range("A1").Value
End With
End If
End Sub