我在vb.net上有一个带有Excel文件的应用程序
首先,我有一个“浏览”按钮,用于打开Excel工作簿。
其次,我有一个按钮“获取工作表的名称”,它给我一个组合框中的工作表名称,然后我选择工作表。 然后我有另一个按钮“获取列名称”,它给出了combobox2中表格列的名称。 当我选择列的名称时,新的工作表添加名为列的名称,并且具有此列的数据
我想要的是:
当我从combobox1中选择另一张纸时,将使用新纸张的新列名称刷新combobox2
Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Chargement_de_données.xlWorkSheet = CType(Chargement_de_données.xlWorkBook.Sheets(Chargement_de_données.ComboBox1.Text), Excel.Worksheet)
Chargement_de_données.xlWorkSheet.Activate()
Chargement_de_données.xlApp.Visible = True
Dim key As String = CStr(DirectCast(ComboBox2.SelectedItem, KeyValuePair(Of Integer, String)).Key)
Dim value As String = DirectCast(ComboBox2.SelectedItem, KeyValuePair(Of Integer, String)).Value
DataGridView1.Visible = True
Dim DoesSheetExists As Boolean = False
For Each xs In Chargement_de_données.xlApp.Sheets
If xs.Name = value Then
DoesSheetExists = True
End If
Next
If DoesSheetExists = True Then
MsgBox("L'indicateur est déja ouvert ", CType(MessageBoxIcon.Error, MsgBoxStyle))
Else
With Chargement_de_données.xlWorkSheet
Dim lastrow As Integer = Chargement_de_données.xlWorkSheet.Cells.Rows.End(XlDirection.xlDown).Row
Dim colletter As String = ColumnIndexToColumnLetter(CInt(key))
exWS2 = DirectCast(Chargement_de_données.xlWorkBook.Sheets.Add, Microsoft.Office.Interop.Excel.Worksheet)
exWS2.Name = value
Chargement_de_données.xlWorkSheet.Range("C1:C" & lastrow.ToString).Copy(exWS2.Range("A1"))
Chargement_de_données.xlWorkSheet.Range(colletter & "1:" & colletter & lastrow.ToString).Copy(exWS2.Range("B1"))
答案 0 :(得分:0)
如果我说你的工作表中每个工作表都包含表格第一行中列的名称并且你希望在从组合框中选择工作表后检索这些列的名称,我能理解吗?