返回列表 上一主題 發帖

[發問] 是否有更適合字串的編輯修改呢?

[發問] 是否有更適合字串的編輯修改呢?

各位大大好:

   小弟想提供一表單供USER
可以對B欄位資料做編輯、修改字串內容。

須求如下:
一、儲存格的資料為英文及數值組合
二、須逹成儲存格的字元為12個字元
三、可插入字元、刪除字元、修改字元、替換字元

   小弟已完成一表單,不知是否有不週延之處。
另想請敎各位大大是否有更適合的
方式可供USER對儲存格的字串做上述的操作嗎?

  小弟同時也想請敎各位大大,在此一表單其
Set mSht1 = Worksheets("UPDATA")
如何可簡化僅列出一次而不必逐一列
出在不同的控制項裡設定呢?

謝謝各位大大。

CHARACTER.rar (22.82 KB)

回復 11# GBKEE


    版主大大早安:

小弟已領悟語法中
DO WHILE的變化了。
Sub aa()
    Dim mFlag As Boolean
    mFlag = True
    Do While mFlag
        MsgBox "現在測試中"
        mFlag = False
    Loop
End Sub

版主大大是利用
InStr(xText, TextBox2)及xText
的改變

TOP

回復 10# dechiuan999
  1. 'InStr 函數  傳回在某字串中一字串的最先出現位置,此位置為 Variant (Long)。
  2. Private Sub TextBox2_Change()
  3.     Dim xl As Integer, xText As String
  4.     xText = TextBox1   '字串=TextBox1
  5.     ComboBox1.Clear
  6.     Do While InStr(xText, TextBox2)
  7.         'While: 條件成立   執行回圈  ->  TextBox2字串在xText字串中最先出現位置 >1 => True成立,  0=>False 不成立
  8.         'Until: 條件不成立 執行回圈
  9.         ComboBox1.AddItem xl + 1
  10.         xl = xl + 1
  11.         xText = Mid(xText, InStr(xText, TextBox2) + Len(TextBox2))
  12.         '字串=剔除已出現位置的字元的字串  以避免無窮的迴圈
  13.         'InStr(xText, TextBox2) + Len(TextBox2) :最先出現位置+TextBox2的字元數
  14.     Loop
  15. End Sub
複製代碼

TOP

回復 8# GBKEE


    版主大大您好:
小弟由版主大大提供的法中
多學到了Textbox三個屬性
SelText,SelLength,SelStar
另小弟也發現SelStar的起算
是由0起算。因此,語法上小
弟也修正為
If Shift = 4 And KeyCode = 13 Then TextBox4 = TextBox1.SelStart + 1

另TextBox2_Change內有二點疑惑
一、
xText = Mid(xText, InStr(xText, TextBox2) + Len(TextBox2))
有何用意呢?
二、
Do While InStr(xText, TextBox2)
此語法與小弟的認知有所不同
小弟改成
x2=InStr(xText, TextBox2)
do while x2
就會產生無窮迴圈
小弟就不知版主大大的
語法為何不會產生無窮迴圈呢?

謝謝版主大大。

TOP

回復 8# GBKEE


    謝謝版主大大。
版主大大再次提供Replace函數範例
在應用上的差異,也讓小弟理解
引數start及count 其中的變化。
小弟也了解自已在學習上
總是處在一知半解的狀態;
這也是讓小弟一直無法更
上一層的原因。
小弟也會將版主大大提供
的範例加以發揮及應用。

感恩大大!

TOP

回復 7# dechiuan999
Replace 函數 的用法
  1. Sub Ex()
  2.     Dim W As String
  3.     W = "1ABCDE2ABCDE3ABCDE4ABCDE"
  4.     MsgBox Replace(W, "E", "?", , 1) & Chr(10) & _
  5.            Replace(W, "E", "?", 7) & Chr(10) & _
  6.            Replace(W, "E", "?", 13, 1)
  7. End Sub
複製代碼

TOP

回復 6# GBKEE


    謝謝版主大大。
小弟日後會改進。
小弟正在求解中。
replace函數比小弟想像中
要複雜一些。

謝謝您!

TOP

回復 5# dechiuan999
可參考這篇
PS : 回文時  請按 [回覆] 按鈕  答覆你的人才會得到通知,

TOP

謝謝版主大大。
小弟已收下也研究好一陣子,
還是全然沒有完全領會其含意。
今天下午頭腦真的有點不清醒,
越想它頭腦就越轉不過來,只好先收兵
等頭腦清醒一點再好好研究它了。

感恩版主大大!

TOP

回復 3# dechiuan999
試試看

TEST.rar (9.67 KB)

TOP

        靜思自在 : 每天無所事事,是人生的消費者,積極、有用才是人生的創造者。
返回列表 上一主題