Board logo

標題: 急!!! "無法設定種類Border的LineStyle屬性" [打印本頁]

作者: s13030029    時間: 2020-6-8 17:07     標題: 急!!! "無法設定種類Border的LineStyle屬性"

如圖1、圖2所示設定框線時所遇到的問題
這是從錄製巨集來修改的
而且"右鍵->儲存格格式"會沒反應
改了很多寫法
還是不知道問題出在哪
完成後會像圖4
圖1
[attach]32134[/attach]
圖2
[attach]32135[/attach]
圖3
[attach]32136[/attach]
圖4
[attach]32137[/attach]
附檔
[attach]32138[/attach]
作者: 准提部林    時間: 2020-6-8 20:54

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
作者: s13030029    時間: 2020-6-9 08:14

本帖最後由 s13030029 於 2020-6-9 08:20 編輯

回復 2# 准提部林
准大
你是幫我簡化程式碼了嗎XD
T1 = Split(xR(1, 4) & "-", "-")(0)
可以說明一下這句是怎麼用的嗎?
作者: s13030029    時間: 2020-6-9 08:33

本帖最後由 s13030029 於 2020-6-9 08:35 編輯

回復 2# 准提部林
因為這樣還不是我最終的表格
實際上做完會有標題列(如圖1、2)
所以准大的程式碼可能還要在修改一下
也可以幫我看看我的程式碼能不能簡短一點
謝謝

[attach]32141[/attach]
[attach]32142[/attach]

附檔有完整程式碼
[attach]32143[/attach]
作者: s13030029    時間: 2020-6-9 08:44

回復 4# s13030029
因為我之前的想法是先做好標題列跟分頁後
再來做合併儲存格的動作
但是現在我想要先合併後再分頁
一頁都是23列
雖然說這兩種方法的框線都會出錯
作者: 准提部林    時間: 2020-6-9 10:38

回復 3# s13030029


將編碼"2-4", 分成2及4
RR=SPLIT("2-4","-")
RR(0)=2
RR(1)=4
作者: 准提部林    時間: 2020-6-9 10:44

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

回復 5# s13030029

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

劃框有出錯, 是因"合併格"時, 有些劃框指令無法執行,
所以, 執行程式前, 必須先將合併格解除, 且將框線清除~~
作者: s13030029    時間: 2020-6-9 11:04

本帖最後由 s13030029 於 2020-6-9 11:09 編輯

回復 7# 准提部林

編輯前
(如有資料)
[attach]32149[/attach]
空白的(如無資料)
[attach]32148[/attach]

編輯開始("編輯"程式碼)
會先刪除除了第一頁以外的標題列
輸入資料
[attach]32150[/attach]

編輯完成("完成"程式碼)
會從23列開始插入12列(因為一頁就是23列)
再複製1~11列的資料貼上
再執行"頁碼"程式
然後合併相同編號的製程標題欄
[attach]32147[/attach]

但是要注意例如製程P4跨頁了
那第二頁也要有"P4","光學分檢"
作者: 准提部林    時間: 2020-6-9 15:49

回復 8# s13030029

有點麻煩, 給你分三段寫:
[attach]32153[/attach]

我的程式碼, 一般剛接觸VBA的不太容易理解, 需要多花些時間
作者: s13030029    時間: 2020-6-9 16:57

回復 9# 准提部林
謝謝准大~
目前用起來沒問題
不過程式有很多疑問XD
圖中這個xU是怎麼計算的
為甚麼一個xU就可以刪除那麼多頁的標題列
[attach]32154[/attach]
作者: 准提部林    時間: 2020-6-9 18:28

回復 10# s13030029


xu= union(range1, range2)
與按住 Ctrl ,跳選儲存格同等效果
作者: 准提部林    時間: 2020-6-9 19:35

用列印設定[表尾/標題列]即可得到所需的效果
何須大費周章??
[attach]32155[/attach]
作者: s13030029    時間: 2020-6-10 08:27

回復 12# 准提部林
因為會變這樣XD
而且我只有第一頁需要經理簽名
還是謝謝准大~
[attach]32156[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)