- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 3# amu1129 - Sub Ex()
- Dim Ar(), E, Msg$, i%, y%, C%, MsgAr
- Ar = Array("a2", "g2", "a8", "g8")
- C = 4
- With Sheet1
- For i = 1 To .[C2:F11].Columns.Count
- Msg = ""
- y = 0
- For Each E In .[C2:F11].Columns(i).Cells
- If E <> "" Then
- Msg = IIf(Msg <> "", Msg & Chr(10), "") & "在" & .Cells(E.Row, 1) & "店買了" & .Cells(E.Row, 2) & E & "枝"
- y = y + 1
- End If
- Next
- Sheet2.Range(Ar(i - 1)) = Msg
- Next
- End With
- With Sheet2
- For Each E In Ar ''''' 加入文字
- MsgAr = Split(.Range(E), Chr(10))
- If UBound(MsgAr) >= 1 Then
- For i = 0 To UBound(MsgAr)
- If i < UBound(MsgAr) Then
- y = InStr(MsgAr(i), "店")
- If Mid(MsgAr(i), 1, y) <> Mid(MsgAr(i + 1), 1, y) Then
- MsgAr(i) = MsgAr(i) & Chr(10) & "請至" & Mid(MsgAr(i), 2, y - 1) & "取貨"
- End If
- End If
- Next
- End If
- If UBound(MsgAr) > -1 Then
- y = InStr(MsgAr(UBound(MsgAr)), "店")
- MsgAr(UBound(MsgAr)) = MsgAr(UBound(MsgAr)) & Chr(10) & "請至" & Mid(MsgAr(UBound(MsgAr)), 2, y - 1) & "取貨" & Chr(10) & "以上"
- .Range(E) = Join(MsgAr, Chr(10))
- End If
- Next
- For Each E In Ar ''''' 處理顏色
- MsgAr = Split(.Range(E), Chr(10))
- .Range(E).Font.ColorIndex = 3
- C = 1
- For i = 0 To UBound(MsgAr)
- If InStr(MsgAr(i), "在") > 0 Then
- y = InStr(MsgAr(i), "店")
- Else
- y = 0
- End If
- If y > 0 Then .Range(E).Characters(Start:=C, Length:=y).Font.ColorIndex = 10
- C = C + Len(MsgAr(i)) + 1
- Next
- Next
- End With
- End Sub
複製代碼 |
|