従業員は、毎年2回の認証が必要です。従業員名の認証日と今後の認証日は、マスタースプレッドシートに保存されます。このスプレッドシートから、ユーザーフォームを開いて認証日のOutlook予定を送信できます。ユーザーフォームでは、証明書を送信する従業員を選択します。私の質問はこれです:予定の日付はあなたが選んだ従業員によって異なりますか?どのコードを使用すれば、列Bの正しい従業員名をマトリックスで検索し、対応する行の列Hの日付を使用しますか?私はプロセスでここまで現在午前:従属セルデータを使用したExcel UserFormからの電子メールの送信
Dim Otlk 'As Outlook.Application
Dim Appt 'As Outlook.AppointmentItem
Const olAppointmentItem = 1
Const olMeeting = 1
Set Otlk = CreateObject("Outlook.Application")
Set Appt = Otlk.CreateItem(olAppointmentItem)
'30 Day Invite
With Appt
.Subject = Me.Employee1ComboBox.Value & " " & "Cft Certification"
.Start =
コンボボックスから従業員の名前を取得し、対応する行を見つけてgeその行のColHからの日付。異なる列のファーストネームとラストネームがあるが、コンボボックスにフルネームがあるため、Find()を使用するよりも少し複雑です...コンボボックスはどのように設定されていますか? –
私は同意します。このフォームにはたくさんのことがあります。マスタースプレッドシートに新しいエントリが作成されると、その名前を非表示のワークシート上の単一のセルに連結するコードがあります。この名前付き範囲は、コンボボックスを埋めるものです。 (従業員がスプレッドシートに追加されると、コンボボックスは自動的に更新されます)。隠しシートには、マスターワークシートの行参照を示す連結名の隣に列があります。私は自分の日付のセル参照でその数値を取得する方法はわかりません。 – Jguth617
[隠し]列を、たとえば列Bの後ろに挿入し、そこに名前を連結し、ComboBoxからFullNameを選択した後にWorksheet.Function.VlookupまたはIndex&Matchの組み合わせを使用できますか? –