2016-12-01 121 views
-1

所有我想弄清楚我嘗試過的問題,但沒有成功。任何人都可以請幫我解決這個問題。我會感激你的。 任務: 我有一個excel下拉列表,如如何從單元格中的單詞組中篩選出特定的單詞

銷售/採購經理(AM)-------------------------- ----- Alina([email protected]

收購項目經理(APM)-------------------------- Benny ([email protected]

製造-------------------------------------- -------------- Julia([email protected]

應用程序----------------------- ----------------------------------請選擇(下拉列表,以便我可以選擇)

AE外部傳感器負責-------------------------------請選擇(下拉列表以便我可以選擇)

我已經做了一個單獨的行(行59列A),其中我結合了上述行中的這些值。

我必須讓一個宏發送1封電子郵件給這些多人。我寫了一個發送電子郵件的代碼,但我在某個時候被卡住了。我已經寫了一個代碼,它代替了
這個詞,只要它在第59行中找到就用「」選擇,但不幸的是,代碼會永久更改我不想要的行。 我想要的是,只要它發現一個字,請選擇一行,它只是忽略它,並且也不要更改單元格的格式。意思是當我再次通過下拉列表更改一些新值時,它就發生了變化。如果你能幫我解決這個問題,我將非常感激你。非常感謝。請檢查附件中的照片。 enter image description hereenter image description here

Private Sub CommandButton1_Click() 

Dim the_string As String 

the_string = Sheets("Schedule_team").Range("A59") 

the_string = Replace(the_string, "please select", " ") 

Sheets("Schedule_team").Range("A59") = the_string 

MsgBox (Sheets("Schedule_team").Range("A59")) 


Dim i As Integer, Mail_Object, Email_Subject, o As Variant, lr As Long, x As  
Variant 
Set Mail_Object = CreateObject("Outlook.Application") 

x = Cells (59, 1).Value 
With Mail_Object.CreateItem(o) 
'   .Subject = Range("B1").Value 
.To = x 
'   .Body = Range("B2").Value 
'   .Send 
.display 'disable display and enable send to send automatically 
End With 

MsgBox "E-mail successfully sent", 64 
Application.DisplayAlerts = False 
Set Mail_Object = Nothing 

End Sub 

回答

1

你不把引號the_stringReplace()

the_string = Replace("the_string", "please select", " ") 

裏面應該是:

the_string = Replace(the_string, "please select", " ") 

這是你的代碼的輕微重構其刪除該需要變量:

Sub RemoveHypens() 

    With Sheets("Home").Range("A59") 

     .Value = Replace(.Value, "please select", " ") 

    End with 

End Sub 

編輯:基於您的更新問題 -

Private Sub CommandButton1_Click() 

    Dim the_string As String 
    Dim i As Integer, Mail_Object, Email_Subject, o As Variant 
    Dim lr As Long 

    the_string = Sheets("Schedule_team").Range("A59").Value 

    the_string = Replace(the_string, "please select", " ") 

    Set Mail_Object = CreateObject("Outlook.Application") 

    With Mail_Object.CreateItem(o) 
     '.Subject = Range("B1").Value 
     .To = the_string 
     '.Body = Range("B2").Value 
     '.Send 
     .display 'disable display and enable send to send automatically 
    End With 

    MsgBox "E-mail successfully sent", 64 
    Application.DisplayAlerts = False 
    Set Mail_Object = Nothing 

End Sub 
+0

非常感謝您的合作。它的工作,但我有一個問題,我想忽略這個詞,請選擇它的文本時,但是當我使用命令替換,然後它改變單元格的值永久。 我在做什麼是我有一個下拉列表,通過它我改變了電子郵件地址,所以我需要的是寫一個代碼,只要請選擇進來單元格(59,1)它忽略它,但不會改變函數細胞永久。 – Peter

+0

目前尚不清楚你在做什麼。這將有助於擴大你的問題,列出你想要執行的確切步驟,包括解釋你的「下拉式方法」 - 我不知道你可能會這麼做。 –

+0

請查看最新的代碼,問題和數字。現在我試圖解釋我想做什麼以及我在做什麼。我希望它現在能工作。非常感謝。 – Peter

相關問題