Re: [算表] 用VBA判斷儲存格特定字元 將特定字元前 …

看板Office作者 (西瓜冰沙)時間17年前 (2008/09/27 00:16), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
以下是程式碼 我的資料量很大 我自己覺得在LOGIC 迴圈寫得不好 不過我自已執行起來是OK的 應該有比較精簡的寫法 Sub 分開() Dim myRng As Range, mySPos As Integer, myLPos As Integer '變數宣告 Dim I As Integer Dim J As Integer Sheet9.Select Set myRng = Sheet10.Range("E10:E2500") 'DO 選擇SHEET 'For Each myRng In Selection I = 1 For J = 1 To 2500 mySPos = InStr(myRng(I).Value, ",") '取得 " , " 的位置 If mySPos - 1 > O Then myRng(I + 1).Value = Mid(myRng(I), mySPos + 1) ' 若當MYSPOS-1 小於0時 將會出現錯誤 myRng(I).Value = Left(myRng(I), mySPos - 1) I = I + 2 mySPos = InStr(myRng(I).Value, ",") Else I = I + 2 GoTo NEXT1 End If 'MsgBox mySPos NEXT1: Next End Sub ※ 引述《JieJuen (David)》之銘言: : ^^ 完全不敢說指教 : VBA只在摸索中~ : ※ 引述《terry007 (西瓜冰沙)》之銘言: : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^是否有設定這行? : : ^^^^^^^^^^^^^^^^^^^^^^ 這一行有問題 會出現錯誤? : 等同於 : Application.WorksheetFunction.Find(",", c1) : 我試沒問題~ : : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : : 上面這兩行 給我靈感,有想到其他方法 我是搭配 isstr 函數 來做 : 是說InStr吧? : 把您的code po上來討論討論呀~ : 我比較熟工作表函數,之前不知道InStr.. : 看起來的確和find功能類似 : : 不過我看懂 9^9 這是什麼意思 不過mid 真好用 : 是..看"不"懂還是看懂(語氣有疑問?) : 因為逗點後全都要抓起來 : 所以放一個很大的數 例如1000 : 只是我放9^9,只因字數少且代表大數(9的9次方) : : 謝謝j 大 指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.9.194.164

09/27 01:19, , 1F
感謝提供~ VB的MID比較好用!!
09/27 01:19, 1F
文章代碼(AID): #18tGhwxJ (Office)
文章代碼(AID): #18tGhwxJ (Office)