[算表]請問EXCEL使用VBA擷取字串中文字並加其他
軟體:EXCEL
各位大神 想請教VBA的問題,目前都是用公式寫的
但是發現公式佔據太多導致表格運作很慢
想改為用VBA來擷取需要的資料
以下是需要擷取的內容,懇請大神們協助,必有後謝!!!
最下面有目前解決進度!!!
從R欄讀取資料,把需要的資料顯示在P欄,若S欄內有資料,需整合資料再P欄
以下為R欄的資料
訂單編號
240715NDHQXXX
買家收件地址
江小明,
239宜蘭縣鴿子區老鷹路1號
運送資訊
包裹1: 賣家宅配
共 1 個商品
j******1
進帳資訊
編號
商品
單價
數量
小計
1
商品名稱一大堆
規格: 商品名稱APPP
商品選項貨號: APPP
868
1
868
隱藏入帳明細
訂單金額
NT$868
商品價格
NT$868
預估賣家運費總支付
NT$120
買家支付運費
NT$120
預估蝦皮代付運費
NT$0
手續費
-NT$78
成交手續費
-NT$48
活動與物流隱碼服務費
-NT$10
金流與系統處理費
-NT$20
預估訂單進帳
NT$910
以下為S欄的資料
12345678
如R欄沒資料 P欄可以直接自行填寫資料
如R欄有資料S欄沒資料時 P欄顯示:直接配送
如R欄有資料S欄有資料時
P欄需整合為
江小明, 239宜蘭縣鴿子區老鷹路1號 電話:0928000888轉12345678 #1 皮皮
R欄內擷取的資料 ----------------- S欄資料 ---------
有----的是自行額外增加的字碼
K欄顯示 "預估訂單進帳 NT$910 "的數值 "910" 單數字就好
C欄顯示 "規格: 商品名稱APPP" 內的文字 "商品名稱APPP"
謝謝大神們的協助!!!
目前只有辦法寫到
If Target.Column = 18 Then
'只有R欄有變動時執行
Dim P As String
P = Target.Value
ActiveSheet.Cells(Target.Row, 16) = P
'把P設定變數,R欄的值=P,然後把變動的行數的P欄填上P值
End If
卡在字串分解
目前字串分解用很笨的方式
Str = Split(Target.Value, "運送資訊")
P = Str(0)
Str = Split(P, "買家收件地址")
ActiveSheet.Cells(Target.Row, 16) = Str(1)
'收件人部分 設Str()為陣列,Target.Value=R欄變動的值,Str=字串陣列,Split(字串
,分割點)
用Split去頭去尾取中間,請問大大有更方便的方法嗎?
找到用Chr(10)代表換行符號 來計算要擷取第幾行了
有進度都會更新,請求大神們指導,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.136.43 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1721038819.A.B7A.html
※ 編輯: ilf0121 (118.169.136.43 臺灣), 07/15/2024 21:43:10
※ 編輯: ilf0121 (118.169.136.43 臺灣), 07/15/2024 22:44:29
※ 編輯: ilf0121 (118.169.136.43 臺灣), 07/15/2024 23:17:45
※ 編輯: ilf0121 (118.169.136.43 臺灣), 07/15/2024 23:42:28
→
07/17 09:18,
4月前
, 1F
07/17 09:18, 1F
Office 近期熱門文章
PTT數位生活區 即時熱門文章