返回列表 上一主題 發帖

[發問] 請教VBA 兩行儲存格的字串合併問題~~~~~~~~~~

回復 7# ABK


這個方法 "FormulaR1C1"  是R1C1表示法的公式

你原本的公式寫法比較像一般的公式,請用 "Formula"

Excel 很聰明的,只要用VBA在連續範圍填入 範圍內第一格公式就好了~~

其它格公式相當於右拉下拉~

以此範例,只要在範圍內填入 A2需要的公式即可...不用再寫 Row()這種函數

先填入公式再轉值 寫法如下

Sub sheet1_Formula()
Rn& = [sheet1!B65536].End(3).Row
With [sheet1!A2].Resize(Rn - 1)
        .Formula = "=COUNTIF($B$2:$B2,B2)-1"    '填入A2的公式
        .Value = .Value
End With
End Sub


不用Excel工作表函數的VBA寫法
Sub sheet1_VBA()
Dim Arr, Brr, R&, S$
Arr = Range([A2], [B65536].End(3))
For R = 1 To UBound(Arr)
    S = S & "," & Arr(R, 2)
    Brr = Split(Mid(S, 2), ",")
    Arr(R, 1) = UBound(Filter(Brr, Arr(R, 2)))
Next R
Range([A2], [B65536].End(3)) = Arr
End Sub



很顯然~~第一種寫法簡單多了,這要歸功於Excel的聰明
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

        靜思自在 : 虛空有盡.我願無窮,發願容易行願難。
返回列表 上一主題