返回列表 上一主題 發帖

[發問] 資料剖析+加框線

TT = "09-SAF5-1111K-QQP"
TT = Split(Replace(TT, "-", "+", , 2), "+")(2)
MsgBox TT

TT = "09-C231-100WK"
TT = Split(Replace(TT, "-", "+", , 2), "+")(2)
MsgBox TT

TOP

Sub test()
Dim xR As Range, xH As Range
For Each xR In [H2:H19]
  If xH Is Nothing Then xR = Split(Replace(xR, "-", "+", , 2), "+")(2): Set xH = xR
  If xR(2) <> "" Then xR(2) = Split(Replace(xR(2), "-", "+", , 2), "+")(2)
  If xR(2) <> xR Then
    With Range(xR, xH)
       .Borders.Weight = 3
       If .Count > 1 Then .Borders(12).Weight = 2
    End With
    Set xH = xR(2)
  End If
Next
End Sub
 
 

TOP

本帖最後由 准提部林 於 2017-8-6 09:17 編輯

回復 15# v03586


For Each xR In Range([D2], [D65536].End(xlUp))
  If xR.Row < 2 Then Exit Sub '當D2以下為空時,結束程序
  或 If xR.Row < 2 Then Exit For '當D2以下為空時,跳出迴圈
 
Next

TOP

回復 17# v03586


有合併格???
上傳檔案再看看!!!
 

TOP

回復 19# v03586


Sub test()
Dim R, xR As Range, xH As Range, xE As Range, i&, V&
R = [D65536].End(xlUp).Row
For i = 2 To R
  Set xR = Cells(i, "D")
  If xH Is Nothing Then Set xH = Cells(i, "AD")
  V = xR.MergeArea.Rows.Count
  Set xE = xR(V)
  If xR <> xE(2) Then
    With Range(Cells(xE.Row, 1), xH)
       .Borders.Weight = 4
       If .Columns.Count > 1 Then .Borders(11).Weight = 2
       If .Rows.Count > 1 Then .Borders(12).Weight = 2
    End With
    Set xH = Cells(i + V, "AD")
  End If
  i = i + V - 1
Next i
End Sub

不管D欄有沒有合併格,都可以!!
 
 

TOP

回復 19# v03586


Sub test1()
Dim R, xR As Range, xH As Range
R = [D65536].End(xlUp).Row
For Each xR In Range([D2], [D65536].End(xlUp))
  If xH Is Nothing Then Set xH = Cells(xR.Row, "AD")
  If xR(2) <> xR Then
   With Range(xR(1, -2), xH)
      .Borders.Weight = 4
      If .Columns.Count > 1 Then .Borders(11).Weight = 2
      If .Rows.Count > 1 Then .Borders(12).Weight = 2
   End With
   Set xH = Cells(xR.Row + 1, "AD")
  End If
Next
End Sub

只適用于無合併格!!!
 

TOP

回復 22# v03586


我的office版本無法正常執行程式,
應該幫不上!!!

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題