返回列表 上一主題 發帖

急!!! "無法設定種類Border的LineStyle屬性"

Sub 合併()
Dim R&, xR As Range, T1$, T2$, TC$, xH As Range, K
R = [D65536].End(xlUp).Row
With Range("A12:M" & R)
     .UnMerge
     .Borders.LineStyle = xlNone
End With
Application.DisplayAlerts = False
For Each xR In Range("A12:A" & R)
    T1 = Split(xR(1, 4) & "-", "-")(0)
    If T1 <> TC Then TC = T1: Set xH = xR
    T2 = Split(xR(2, 4) & "-", "-")(0)
    If T2 <> TC Then
       For Each K In Array(1, 2, 3, 13)
           Range(xR(1, K), xH(1, K)).Merge
       Next K
    End If
Next
Range("A12:M" & R).Borders.LineStyle = 1
End Sub

TOP

回復 3# s13030029


將編碼"2-4", 分成2及4
RR=SPLIT("2-4","-")
RR(0)=2
RR(1)=4

TOP

本帖最後由 准提部林 於 2020-6-9 10:48 編輯

回復 5# s13030029

還沒執行程式前, 表格長什麼樣???
程式中的規則為何???  不想從你的程式碼去猜, 太累又可能出錯!!

劃框有出錯, 是因"合併格"時, 有些劃框指令無法執行,
所以, 執行程式前, 必須先將合併格解除, 且將框線清除~~

TOP

回復 8# s13030029

有點麻煩, 給你分三段寫:
問題_v02.rar (25.14 KB)

我的程式碼, 一般剛接觸VBA的不太容易理解, 需要多花些時間

TOP

回復 10# s13030029


xu= union(range1, range2)
與按住 Ctrl ,跳選儲存格同等效果

TOP

用列印設定[表尾/標題列]即可得到所需的效果
何須大費周章??
問題_v03.rar (23.73 KB)

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題