|
一个单元格内多个数值同时乘以另外一个单元格数值;如何用VBA表达,请楼主们赐教;谢谢
详见附件;
- Sub lqxs()
- Dim Arr, i&, Myr&, Brr
- Dim d, t, a, be, wb$, gy$, s$
- Set d = CreateObject("Scripting.Dictionary")
- Application.ScreenUpdating = False
- Sheet2.Activate
- Arr = Sheet3.[k1].CurrentRegion
- For i = 2 To UBound(Arr)
- d(Arr(i, 1)) = Arr(i, 2) & "|" & Arr(i, 3)
- Next
- Myr = Cells(Rows.Count, 6).End(xlUp).Row
- Brr = Range("a2:h" & Myr)
- For i = 1 To UBound(Brr)
- If d.exists(Brr(i, 6)) Then
- t = d(Brr(i, 6))
- a = Split(t, "|")
- be = Brr(i, 8) / Val(a(0))
- wb = a(1): gy = "": s = ""
- If be > 1 Then
- For j = 1 To Len(wb)
- temp = Mid(wb, j, 1)
- If temp Like "[A-Za-z]" Then
- If s = "" Then
- gy = gy & temp
- Else
- gy = gy & Val(s) * be & temp: s = ""
- End If
- Else
- s = s & temp
- End If
- Next
- End If
- If s <> "" Then gy = gy & Val(s) * be
- Cells(i + 1, 3) = gy
- End If
- Next
- Application.ScreenUpdating = True
- End Sub
复制代码
|
|