Как создать выпадающий список с исходным кодом из другого листа в excel с помощью VB.NET
У меня есть программа, которая может создать рабочую книгу. Внутри рабочей книги находятся листы 1 и 2. Sheet1 имеет элемент управления dropdownlist, созданный программно с помощью vb.net-да. он прекрасно работает, когда эта строка кода выглядит так:Formula1:="=$A$1:$E$1", но когда я меняю ее на Formula1:="=Sheet2$A$1:$E$1", она возвращается к ошибке.
Это ошибка показала:
Необработанное исключение типа 'System.Runtime.InteropServices.COMException' произошло в Microsoft.VisualBasic.dll
Дополнительная информация: исключение из HRESULT: 0x800A03EC
Пожалуйста, помогите исправить такого рода ошибки. Спасибо
Что я уже пробовал:
My code:
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Dim xlApp As New Excel.Application xlApp.Visible = True Dim xlWorkbooks As Excel.Workbooks = xlApp.Workbooks Dim xlWorkbook As Excel.Workbook = xlWorkbooks.Add Dim xlWorksheet As Excel.Worksheet = CType(xlWorkbook.Worksheets(1), Excel.Worksheet) Dim xlRng As Excel.Range = xlWorksheet.Cells(5, 5) xlRng.Select() With xlApp.Selection.Validation .Add(Type:=Excel.XlDVType.xlValidateList, _ AlertStyle:=Excel.XlDVAlertStyle.xlValidAlertStop, _ Operator:=Excel.XlFormatConditionOperator.xlBetween, _ Formula1:="=Sheet2$A$1:$E$1") .IgnoreBlank = True .InCellDropdown = True End With With (xlWorkbook) .Worksheets.Add(After:=.Worksheets(1)) .Sheets("Sheet2").Name = "Sheet2" End With With xlWorkbook.Worksheets("Sheet2") .Cells(1, 1) = "Jose" .Cells(1, 2) = "Juan" .Cells(1, 3) = "acronym" .Cells(1, 4) = "sector" .Cells(1, 5) = "type_acronym" .Cells(2, 2) = "(Select Agency Name)" .Cells(3, 1) = "2198" .Cells(3, 2) = "ABRA STATE INSTITUTE OF SCIENCE AND TECHNOLOGY" .Cells(3, 3) = "ASIST" .Cells(3, 4) = "State Universities and Colleges" .Cells(3, 5) = "Proper" End With System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRng) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorksheet) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbooks) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) End Sub