標題:
[發問]
如何在輸入完一段字後,在最前面加入統一匯款字樣
[打印本頁]
作者:
s7659109
時間:
2013-9-24 11:27
標題:
如何在輸入完一段字後,在最前面加入統一匯款字樣
當摘要KEYIN一段字後,跳離原儲存格,
且前方貨號欄為空白時,則在這一段字最前方統一加上
統一匯款-
(紅字)
如:
統一匯款-
雜貨1批。
作者:
luhpro
時間:
2013-9-25 22:22
回復
1#
s7659109
你想要的功能在 Excel一般區(即單純透過儲存格輸入資料或公式) 是很難做到的,
因為 Excel 的儲存格內容在 "任一時間點上" 除非使用者或是程式(包含公式中的日期時間或是亂數函數等,不同時點資料可能會不同者)有做了變更,
不然是不會自己變動的,
即便是內容為公式亦或是樞紐分析表也是逃脫不出此點.
所以既然你的需求是使用者輸入資料後,
儲存格的內容還要有所變動,
那就只能透過程式囉,
現依你的需求實作如下 :
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 2 Then
If .Offset(, -1) = "" And .Value <> "" Then
Application.EnableEvents = False
.Font.ColorIndex = -4105
.Value = "統一匯款-" & .Value
.Characters(1, 5).Font.ColorIndex = 3
Application.EnableEvents = True
End If
End If
End With
End Sub
複製代碼
作者:
s7659109
時間:
2013-9-26 10:21
若原先已有的資料,如何一次全部在前面補充
統一匯款
字樣,後面再輸入依回答方式處理。
作者:
Hsieh
時間:
2013-9-27 23:34
回復
3#
s7659109
Sub Add_Character()
Dim A As Range
For Each A In Range("B:B").SpecialCells(xlCellTypeConstants) '針對B欄位資料做檢查
If Left(A, 5) <> "統一匯款-" And A.Offset(, -1) <> "" Then
A = "統一匯款-" & A: A.Characters(1, 5).Font.ColorIndex = 3
ElseIf Left(A, 5) = "統一匯款-" And A.Offset(, -1) = "" Then
A.Characters(1, Len(A)).Font.ColorIndex = 0: A = Replace(A, "統一匯款-", "")
End If
Next
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Add_Character
Application.EnableEvents = True
End Sub
複製代碼
作者:
s7659109
時間:
2013-10-3 11:46
若要將已填入統一匯款的說明欄,copy出來一離開儲存格,會在填入統一匯款字樣,copy愈多次,就填入愈多次。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)