我想用一個TextBox和一個CommandButton構建一個簡單的UserForm,它通過點擊空單元格中的一個特殊列(例如在列A ,單元格A1)在工作表內。當我輸入文本並點擊按鈕時,輸入的文本應粘貼到活動單元格(A1)中。Excel VBA-來自活動單元格中文本框的文本
用戶窗體的構建不是問題,而是它背後的動作。
你們知道如何解決這個問題嗎?甚至更好的代碼段?
在此先感謝!
我想用一個TextBox和一個CommandButton構建一個簡單的UserForm,它通過點擊空單元格中的一個特殊列(例如在列A ,單元格A1)在工作表內。當我輸入文本並點擊按鈕時,輸入的文本應粘貼到活動單元格(A1)中。Excel VBA-來自活動單元格中文本框的文本
用戶窗體的構建不是問題,而是它背後的動作。
你們知道如何解決這個問題嗎?甚至更好的代碼段?
在此先感謝!
下面是一段代碼,當您單擊單元格
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("A1")) Is Nothing Then
'name of userform .Show
End If
End If
End Sub
凡代碼的註釋您需要的名字OOF您的用戶窗體,然後.Show
進入文本將運行,讓說A1如你所說,應該是:
Private Sub CommandButton1_Click()
TextValue = TextBox1.Text
[A1].Value = TextValue
End Sub
更改CommandButton1
和TextBox1
,無論你將它們命名爲(如果你被點名了他們,你應該)
如果您有什麼需要澄清只是問
感謝您的幫助!你有一個想法,如何在A的整個列中打開UserForm? '如果Selection.Count = 1然後 昏暗檢查由於布爾 校驗=真 如果支票然後 昏暗我只要 對於i = 1到100000 如果沒有相交(目標,範圍( 「A」 &i))的是Nothing然後 UserForm1.Show 檢查=假 結束如果 接下來 結束如果 結束If'這是我的主意,但它是非常緩慢的,當你有走線槽100000個細胞。 – qube13
另一個問題是,如果有另一種將文本添加到單元格的方式,因爲如果我單擊整列中的一個單元格,我不知道,我要在哪裏單擊。我試圖將目標保存在一個公共變量中,但這不起作用。 – qube13
那些將需要新的問題,評論arent足夠大,把這些答案,如果我的答案已經解決了你最初的問題,那麼請接受這個答案 –
看工作表和控制的事件,因此一個按鈕的Click事件,那麼你就需要使用文字或組合框的值。一個小小的gooogling會解釋很多關於這個。 :) –