2017-09-27 43 views
0

我想輸入數據庫中的信息,我使用用戶窗體在Excel中輸入。這裏的關鍵是我需要能夠使用文本框將數據輸入到特定的單元格中。例如,我打開用戶窗體並在textbox1中輸入textbox2中的123我輸入321。當我點擊用戶窗體中的提交按鈕時,代碼應在特定列中查找文本「123」。如果在代碼中指定的列中存在文本「123」,那麼它應該將輸入到textbox2(321)中的數據放到與包含文本123的單元格相鄰的單元格中。我已經梳理了互聯網,對於這個解決方案,只發現只有一種工作。使用用戶窗體更新excel工作表數據

這是鏈接到該解決方案: https://youtu.be/cKKgYPfq3_I

的代碼將不會持續,雖然工作。我不知道這是否是因爲我對該視頻中的代碼所做的一些編輯導致了錯誤,或者代碼本身出現了任何錯誤。

這將是一個數據庫,它將有大量的信息。擁有這樣的功能可以讓某人更新數據庫信息。例如,您可以列出電話號碼和姓名。使用此功能,您可以在一個文本框中輸入名稱,在第二個文本框中輸入新的電話號碼。然後,您可以在推送提交按鈕時更新個人電話號碼。

任何建議將是一個巨大的幫助。

在此先感謝!

以下是迄今爲止我從另一個論壇中發現並從我從這裏獲得的一些幫助進行編輯的內容。它似乎沒有工作。再次,這可能是因爲代碼根本不是爲了我想要的。 (我的VBA的知識僅限於拼圖拼湊代碼放在一起,我可以找到,似乎工作。)

Option Explicit 

Private Sub CommandButton1_Click() 

Dim WS As Worksheet 
Dim lastrow As Long 
Dim r As Long 
Dim datee As Integer 
Dim m As Integer 

Application.ScreenUpdating = False 



m = 1 


If IsNumeric(TextBox2.Text) Then 



On Error GoTo ErrorHandler 

datee = TextBox2.Text 


Set WS = ActiveWorkbook.Worksheets("Scrap") 
lastrow = WS.Cells(Rows.Count, "A").End(xlUp).Row 


For r = 1 To lastrow 


If WS.Cells(r, 2) = TextBox1.Text Then 

    WS.Cells(r, 5).Value = TextBox2.Text 
    WS.Cells(r, 8).Value = TextBox3.Text 
    WS.Cells(r, 9).Value = TextBox4.Text 
    WS.Cells(r, 10).Value = TextBox5.Text 
    WS.Cells(r, 11).Value = TextBox6.Text 
    WS.Cells(r, 12).Value = TextBox7.Text 
    WS.Cells(r, 13).Value = TextBox8.Text 
    WS.Cells(r, 14).Value = TextBox9.Text 
    WS.Cells(r, 15).Value = TextBox10.Text 
    WS.Cells(r, 16).Value = TextBox11.Text 
    WS.Cells(r, 17).Value = TextBox12.Text 
    WS.Cells(r, 18).Value = TextBox13.Text 
    WS.Cells(r, 19).Value = TextBox14.Text 


    Else 

    WS.Cells(r, 2).Font.Color = vbRed 

    m = 0 


End If 

Next 
If m = 0 Then 

MsgBox "Sales Order number not found,make sure the Sales Order Number you entered is correct", vbCritical 

Else 

MsgBox "Success", vbInformation 

End If 

TextBox1.Text = "" 

TextBox2.Text = "" 

TextBox3.Text = "" 

TextBox4.Text = "" 

TextBox5.Text = "" 

TextBox6.Text = "" 

TextBox7.Text = "" 

TextBox8.Text = "" 

TextBox9.Text = "" 

TextBox10.Text = "" 

TextBox11.Text = "" 

TextBox12.Text = "" 

TextBox13.Text = "" 

TextBox14.Text = "" 

Unload Me 


Application.ScreenUpdating = True 

Exit Sub 

ErrorHandler: MsgBox "Sorry an Error occured. " & vbCrLf & Err.Description 

End If 

MsgBox "Please Insert Data", vbCritical 

End Sub 
+0

歡迎到SO;告訴我們你試過的東西!你發現那種「有效的」是什麼?你應該閱讀關於如何提出一個好問題的[幫助]。 – user3788685

+0

雅謝謝!我也注意到了,但是找不到編輯按鈕。 – Kam

+0

@ user3788685因此,我一直在爲此工作幾個月。我忘記了原始解決方案的來源。我對VBA並不陌生,我可以通過閱讀代碼和拼圖代碼來創建適用於我的程序,但這並不意味着我總是能夠100%理解即時消息的內容。我一直在使用的代碼在不同的論壇上發現,我甚至不確定我是否正確閱讀它。 Ill立即張貼 – Kam

回答

0

請試試這個(我們假設我們的表是Sheet2中):

Option Explicit 

Private Sub CommandButton1_Click() 

Dim WS As Worksheet 
Dim lastrow As Long 
Dim r As Long 
Dim datee As Date 


Application.ScreenUpdating = False 





If IsDate(TextBox2.Text) Then 



On Error GoTo ErrorHandler 

datee = TextBox2.Text 


Set WS = ActiveWorkbook.Worksheets("sheet2") 
lastrow = WS.Cells(Rows.Count, "A").End(xlUp).Row 


For r = 2 To lastrow 


If WS.Cells(r, 3) = TextBox1.Text And WS.Cells(r, 2) = datee Then 

    WS.Cells(r, 4).Value = TextBox2.Text 
    WS.Cells(r, 5).Value = TextBox3.Text 
    WS.Cells(r, 2).Font.Color = vbRed 
    WS.Cells(r, 3).Font.Color = vbRed 
    WS.Cells(r, 4).Font.Color = vbRed 
    WS.Cells(r, 5).Font.Color = vbRed 

    MsgBox "Success", vbInformation 


TextBox1.Text = "" 

TextBox2.Text = "" 

TextBox3.Text = "" 

Unload Me 


Application.ScreenUpdating = True 

Exit Sub 

End If 

Next 



MsgBox "Data not Found!!", vbCritical 




TextBox1.Text = "" 

TextBox2.Text = "" 

TextBox3.Text = "" 

Unload Me 


Application.ScreenUpdating = True 

Exit Sub 

ErrorHandler: MsgBox "Sorry an Error occured. " & vbCrLf & Err.Description 

Exit Sub 

End If 

MsgBox "Please Insert Date in the Date Box", vbCritical 

Application.ScreenUpdating = True 

End Sub 
+0

這是完美的。如果有人正在準備更新工作表中的某些數據並打開用戶表單,並意外在文本框1或文本框2中輸入了錯字,那麼可能會彈出一個消息框,提示類似「找不到數據」的內容,以便用戶會知道他打算更新的數據沒有正確更新?現在,如果您輸入錯字,用戶表單就會關閉,並且無法知道您打算更新的內容是否已正確更新。 – Kam

+0

我已更新您的請求的代碼 –

+0

非常感謝!該程序的工作原理除了每次執行程序時,無論textbox1和textbox2中的信息是否正確,我都會收到消息「在某些情況下數據未找到!!,請檢查日期是否帶有紅色字體」。 – Kam

相關問題