Buenas Tardes...! Saludos!!
Estoy realizando un pequeño proyecto con VB.Net 2010 lo cual estoy a poco de terminarlo..
pero se me ah presentado un problema el cual describo..
Tengo una ventana que me Carga un Archivo Excel.. en un ComboBox me Carga todas las Hojas que este posea y cuando lo selecciono me muestra la hoja en un datagridview y unos textbox que me describen algunos datos de la Hoja que seleccione, ademas un textbox que me permite buscar y seleccionar un elemento de la hoja que seleccione y me lo muestra en el DataGridView...
lo que quiero hacer es un metodo de busqueda mas eficaz... no buscar por la hoja que haya seleccionado, sino en todo el libro y me lo muestre en un datagridview.
ejemplo: un textbox donde inserto el dato que quiero buscar, y que este dato lo busque en todo el Libro de excel y me lo muestre..
espero puedan ayudarme tengo dias buscando una solucion a eso y no eh encontrado algo que valga y me ayude..
PD: Se pudiera decir que soy un navato en programacion, y estoy aprendiendo VB.NET y la verdad eh aprendido bastante pero aun me falta muchas cosas por aprender..
Espero sus prontas respuestas.. Gracias!! ;)
En esta Sección Cargo los Nombres de las Hojas que existan en el Libro a un Combobox:
Dim ExcApp As New Excel.Application
Dim hoja As Excel.Worksheet
ExcApp.Workbooks.Open(RutaExcelTxBX.Text)
For Each hoja In ExcApp.Sheets
HojaCmBx.Items.Add(hoja.Name)
Next
HojaCmBx.SelectedIndex = 0
Aquí Con la Hoja Seleccionada Carga mi DatagridView:
Sub CargarDatagrid()
If CodigoTxBx.Text = "" Then
Try
FillDataAutoma("select * from [" & HojaCmBx.Text & "$A6:P150]")
cargaExcel() '<-- esto solo me carga informacion que ay en unas celdas a unos TextBox
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
FillDataAutoma("SELECT *FROM [" & HojaCmBx.Text & "$A6:P150] WHERE TAG LIKE '%" & CodigoTxBx.Text.Trim & "%'")
cargaExcel()
End If
End Sub
Aqui con el dato que coloque en mi textbox buscara en el datagrid
Try
FillDataAutoma("SELECT *FROM [" & HojaCmBx.Text & "$A6:P150] WHERE TAG LIKE '%" & CodigoTxBx.Text.Trim & "%'")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, Text)
End Try
-----------------------------------------------------------------------------------------------------------------
otra opción que tengo es que me cargue en un listbox las hojas donde se encuentra el dato que estoy buscando y que al seleccionar la hoja q este en el listbox lo cargue al datagrid , mi problema es buscar el dato en todas las hojas...
Tengo mas o ideas pero no me sale la codificación
podria usar algun metodo de iteracion ya sean For o While que esten recorriendo las hojas y mientras encuentren datos lo carguen al datadrid, o que me muestra la hoja en q se encuentre el dato en un listbox.. Nose son solo ideas que nose como implementar...