iT邦幫忙

0

VBA 在指定欄位後輸入資料

  • 分享至 

  • xImage

請問我寫了一個VBA
設計了一個表單 有TEXTBOX1 TEXTBOX2 TEXTBOX3 TEXTBOX4
我想要在TEXTBOX1 輸入現有
TEXTBOX2 TEXTBOX3 TEXTBOX4 後面會輸入進去在 B C D欄位中

例如:
TEXTBOX1 TEXTBOX2 TEXTBOX3 TEXTBOX4 內輸入
B01 123 456 789
找到資料表中A欄原有的B01
原本 B01 空 空 空
變成 B01 123 456 789 這樣
請問我可以怎麼做

我的EXCEL
http://imagizer.imageshack.com/a/img922/2706/RsFJWu.png
http://imagizer.imageshack.com/a/img924/150/66ogIK.png

Private Sub CB1_Click()

Dim Rng As Range
Set Rng = Range("A1:A500").Find(TB1, lookat:=xlPart)
If Rng Is Nothing Then
MsgBox "無此車位"
Else

r = Range("B2").End(xlDown).row + 1
Cells(r, "B") = TB2.Text
Cells(r, "C") = CBB1.Text
Cells(r, "D") = TB3.Text
Cells(r, "E") = CBB2.Text
Cells(r, "F") = TB4.Text
Cells(r, "G") = CBB3.Text

Cells(r, "A").Select

UF1.Hide
End If

End Sub

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
海綿寶寶
iT邦大神 1 級 ‧ 2020-04-23 12:26:42
最佳解答

試試看

Sub Main()  '改成寫到你的 CB1_Click() 裡
    Dim Rng As Range
    Dim sFind As String
    
    sFind = "B1"    '改成你的 TEXTBOX1.Text
    
    Set Rng = Range("A1:A500").Find(sFind, lookat:=xlPart)
    If Rng Is Nothing Then
        MsgBox "無此車位"
    Else
        r = Rng.Row
        Cells(r, 2) = "A"   '改成你的 TEXTBOX.Text
        Cells(r, 3) = "B"   '改成你的 TEXTBOX.Text
        Cells(r, 4) = "C"   '改成你的 TEXTBOX.Text
        Cells(r, 5) = "D"   '改成你的 TEXTBOX.Text
        Cells(r, 6) = "E"   '改成你的 TEXTBOX.Text
        Cells(r, 7) = "F"   '改成你的 TEXTBOX.Text
        
        Cells(r, 1).Select
    End If
End Sub
九號 iT邦新手 5 級 ‧ 2020-04-23 13:44:12 檢舉

謝謝 照你說的可以做到了 感謝哦

九號 iT邦新手 5 級 ‧ 2020-04-28 15:00:23 檢舉

那 如果我想要 讓我TEXTBOX裡面的數字
跟當前的數字重複時 跳出一個MSGBOX出來阻擋
我可以怎麼做呢? 我試了好久 弄不太成功

我要發表回答

立即登入回答