下午好,
我有一些由多个商店订购的商品,这些商品具有相同的产品编号,我需要更改“STORE 1”的名称。
本质上,我需要宏来执行此操作:如果 E:E 等于 LIST 并且 G:G 等于“Store 1”。将“商店 1”更改为“商店 7”。
列表:18703,18709,17669,17668,18708,32945,27042,27041,18704,32941,32944,32942,18702,18705,18462,18461,18391,27039,33632,336 33,33635,27045
我该怎么办?
这是我之前尝试过的,但它仅针对产品编号而不是商店进行更改。
Sub ChangeStore()
Dim lr As Long
Dim rng As Range
'Changes Ship to Parent Customer from Kroger to Kroger DC
lr = Cells(Rows.Count, 1).End(xlUp).Row
For Each rng In Range("E3:E" & lr)
If (rng = 18709) Or (rng = 18703) Or (rng = 18705) Or (rng = 27042) Or (rng = 27041) Or (rng = 32598) Or (rng = 17669) Or (rng = 17668) Or (rng = 18708) Or (rng = 18704) Or (rng = 32595) Or (rng = 32596) Or (rng = 32596) Or (rng = 32596) Or (rng = 32596) Or (rng = 32596) Or (rng = 32596) Or (rng = 32596) Or (rng = 32597) Or (rng = 32599) Or (rng = 18702) Or (rng = 18462) Or (rng = 18461) Or (rng = 27039) Or (rng = 27045) Or (rng = 32941) Or (rng = 32942) Or (rng = 32943) Or (rng = 32944) Or (rng = 32945) Then
rng.Offset(, 2) = "Store 7"
End If
Next rng
End Sub
类似这样的:
Sub ChangeStore()
Dim lr As Long, ws As Worksheet
Dim c As Range
'reference a specific worksheet
Set ws = ThisWorkbook.Worksheets("Data") 'for example
'Changes Ship to Parent Customer from Kroger to Kroger DC
lr = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For Each c In Range("E3:E" & lr)
Select Case c.Value
'Tidier than a long list of or'ed tests
Case 18709, 18703, 18705, 27042, 27041, 32598, 17669, _
17668, 18708, 18704, 32595, 32596, 32596 'etc etc
With c.Offset(0, 2)
If .Value = "Store 1" Then .Value = "Store 7"
End With
Case Else
'do nothing
End Select
Next c
End Sub