我們的員工需要兩年一次的認證。員工姓名認證日期和即將到來的認證日期保存在主電子表格中。在此電子表格中,您可以打開一個用戶表單以發送認證日期的Outlook約會。在UserForm中,您選擇您想要發送認證的員工。我的問題是:約會的日期取決於您選擇哪個員工?我使用哪些代碼,將在列B中搜索矩陣以找到正確的員工姓名,並在相應行的H列中使用日期?我目前這個很遠的過程:使用從屬單元數據從Excel用戶窗口發送電子郵件
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 t來自ColH在該行的日期。這比使用Find()更復雜一點,因爲你的名字和姓氏在不同的列中,但你的組合框有全名......組合框是如何填充的? –
我同意。這種形式有很多。在主電子表格中創建新條目時,會有代碼將名稱連接到隱藏工作表上的單個單元格中。這個命名的範圍是填充組合框的內容。 (就像員工添加電子表格一樣,組合框會自動更新。)在隱藏工作表上,有一個與concat名稱相鄰的列,它給了我主工作表中的行引用。我只是不確定如何在我的日期單元格引用中獲取數字。 – Jguth617
你可以在列B後面插入一個[hidden]列,在那裏連接名字,並且在從ComboBox中選擇FullName後使用Worksheet.Function.Vlookup或者索引和匹配的組合? –