返回列表 上一主題 發帖

求助~拆解Cell欄位

求助~拆解Cell欄位


各位高手~小弟有個檔案ID 部分內容有多個ID(個數不一)分隔符號分別為; 以及/
不知是否有辦法可以透過程式將表單ID 轉換成單一行

感謝高手相助~

其實重點是ActiveSheet.Columns(4).Replace "/", ";"這欄

TOP

回復 11# tommy.lin

那就將
brr(4, n) = arr2(i, 1)
移到判斷式之外。
擷取修改部份:
            If j = 0 Then
                brr(1, n) = arr2(i, 1)
                brr(2, n) = arr2(i, 2)
                brr(3, n) = arr2(i, 3)
                brr(4, n) = arr2(i, 1)
            End If
            brr(5, n) = Split(arr2(i, 4), ";")(j)

改成如下:
            If j = 0 Then
                brr(1, n) = arr2(i, 1)
                brr(2, n) = arr2(i, 2)
                brr(3, n) = arr2(i, 3)
            End If
            brr(4, n) = arr2(i, 1)
            brr(5, n) = Split(arr2(i, 4), ";")(j)
[b]Kubi[/b]

TOP

Hi Kubi:
又產生一個問題了@@" TOPIC ID 分開之後ID 欄位產生多個空白cell 空白的cell 需要跟上面的ID 補齊
單純手動我可以很快完成但是如何變成VBA ?

Regards
Tommy

TOP

Hi Kubi:
測試可以使用
感謝你的幫忙..有空假日可以個別教學?@@"

Regards

TOP

回復 8# tommy.lin


檔案下載:http://ge.tt/5PcoXKg1/v/0?c

拆解來源為A∼D欄,
拆解後寫入E∼I欄。
Option Base 1
Sub test1()
    Dim arr1, arr2
    Dim brr()
    er = [A65536].End(3).Row
    arr1 = Range("A2:D" & er)
    ActiveSheet.Columns(4).Replace "/", ";"
    arr2 = Range("A2:D" & er)
    For i = 1 To UBound(arr2)
        For j = 0 To UBound(Split(arr2(i, 4), ";"))
            n = n + 1
            ReDim Preserve brr(5, n)
            If j = 0 Then
                brr(1, n) = arr2(i, 1)
                brr(2, n) = arr2(i, 2)
                brr(3, n) = arr2(i, 3)
                brr(4, n) = arr2(i, 1)
            End If
            brr(5, n) = Split(arr2(i, 4), ";")(j)
        Next j
    Next i
    [E2:I65536].ClearContents
    [E2].Resize(UBound(brr, 2), 5) = Application.Transpose(brr)
    Range("A2:D" & er) = arr1
    arr1 = ""
    arr2 = ""
    Erase brr
End Sub
[b]Kubi[/b]

TOP


Hi Kubi:
不好意思~初學者問題太多@@"希望沒造成你困擾

Regards
Tommy

TOP

回復 6# tommy.lin


資料拆解來源是A & D 欄....
可否請版大附上如#1的圖形,以方便了解所需。
[b]Kubi[/b]

TOP

Hi Kubi:
又如果我的資料拆解來源是A & D 欄位我要如何修改VB 變成我想要的?

Regards
Tommy

TOP

可以了~~ 感謝喔~~
怎麼樣練習可以變這麼強?
還是有地方可以上課?

TOP

        靜思自在 : 不要小看自己,因為人有無限的可能。
返回列表 上一主題