2016-12-01 10 views
-1

私は問題を理解しようとしていますが、私は試してみましたが成功しませんでした。誰もこの中で私を助けてくれますか?私はあなたに感謝します。 タスク: Excelのドロップダウンリストがありますセル内の単語のグループから特定の単語を除外する方法

Sales/Acquisition Manager(AM)-------------------------- ----- Alina([email protected]

Acquisition Project Manager(APM)-------------------------- Benny ([email protected]

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

アプリケーション----------------------- ----------------------------------選択してください(選択できるようにドロップダウンリスト)

責任を負うAE外部センサー-------------------------------選択してください(ドロップダウンリストから選択できます)

私は上記の行からこれらの値を組み合わせた別の行(行59 Col A)を作成しました。

マクロを作成して複数の人に1通の電子メールを送信する必要があります。私は電子メールを送信するためのコードを書いたが、私はある時点で立ち往生している。私は、行59で見つかるたびに、
を ""と選択してください。残念ながら、そのコードは私が望ましくない行を永久に変更します。 私が欲しいのは、単語が見つかるたびにそれを無視し、セルのフォーマットを変更しないで行を選択してください。私がもう一度新しい値をドロップダウンリストで変更したので、変更されたことを意味します。あなたが私を助けてくれたら本当に感謝しています。ありがとう、添付写真を確認してください。あなたはReplace()

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

the_stringの前後に引用符を入れていない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_string = Replace(the_string, "please select", " ") 

ここではそのための必要がなくなり、コードのわずかなリファクタリングです変数:

Sub RemoveHypens() 

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

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

    End with 

End Sub 

EDIT:あなたの更新質問をもとに - ご協力

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

おかげで多くのことを。それは働いたが、私は問題を抱えているが、この単語を無視したいのは、テキストになるたびに選択してください。ただし、Replaceコマンドを使用すると、セルの値が永久に変更されます。 私は何をしているのですか?電子メールアドレスを変更するドロップダウンリストがありますので、選択するといつでもセル(59,1)が無視されますが、機能は変更されません。セルは永久に – Peter

+0

あなたがしていることが正確にはわかりません。それはあなたの "ドロップダウンアプローチ"の説明を含め、あなたが実行したい正確なステップをリストアップするためにあなたの質問を拡大するのに役立ちます - あなたはそれが何を意味するか分かりません。 –

+0

更新されたコードと質問と数字もご覧ください。今私は何をしたいのか、何をしているのかを説明しようとしました。今はうまくいくことを願っています。どうもありがとう。 – Peter

関連する問題