IMPORTAR CELULAS EXCEL
Bom dia amigos tenho esse codigo para pegar alguns dados de uma planilha do excel, do jeito que esta ele pega sempre as celulas A2,B2,C2, gostaria de saber como eu posso modificar o codigo para pegar outras celulas ,por exemplo coluna C1 até C5, Coluna F2 até F10.
Private Sub Command1_Click()
Dim oConn As ADODB.Connection
Dim oCmd As ADODB.Command
Dim oRS As ADODB.Recordset
Set oConn = New ADODB.Connection
oConn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & App.Path & [Ô]\ESTOQUE.xls;[Ô] & _
[Ô]Extended Properties=[Ô][Ô]Excel 8.0;HDR=Yes;[Ô][Ô];[Ô]
Set oCmd = New ADODB.Command
oCmd.ActiveConnection = oConn
oCmd.CommandText = [Ô]SELECT * from [Plan1$][Ô]
Set oRS = New ADODB.Recordset
oRS.Open oCmd, , adOpenKeyset, adLockOptimistic
Dim vNum As Integer
If Not IsNull(oRS(1)) Then
Text1.Text = oRS(1)
Else
Text1.Text = [Ô][Ô]
End If
If Not IsNull(oRS(2)) Then
Text2.Text = oRS(2)
Else
Text2.Text = [Ô][Ô]
End If
If Not IsNull(oRS(3)) Then
Text3.Text = oRS(3)
Else
Text3.Text = [Ô][Ô]
End If
End Sub
Obrigado
Luiz
Private Sub Command1_Click()
Dim oConn As ADODB.Connection
Dim oCmd As ADODB.Command
Dim oRS As ADODB.Recordset
Set oConn = New ADODB.Connection
oConn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & App.Path & [Ô]\ESTOQUE.xls;[Ô] & _
[Ô]Extended Properties=[Ô][Ô]Excel 8.0;HDR=Yes;[Ô][Ô];[Ô]
Set oCmd = New ADODB.Command
oCmd.ActiveConnection = oConn
oCmd.CommandText = [Ô]SELECT * from [Plan1$][Ô]
Set oRS = New ADODB.Recordset
oRS.Open oCmd, , adOpenKeyset, adLockOptimistic
Dim vNum As Integer
If Not IsNull(oRS(1)) Then
Text1.Text = oRS(1)
Else
Text1.Text = [Ô][Ô]
End If
If Not IsNull(oRS(2)) Then
Text2.Text = oRS(2)
Else
Text2.Text = [Ô][Ô]
End If
If Not IsNull(oRS(3)) Then
Text3.Text = oRS(3)
Else
Text3.Text = [Ô][Ô]
End If
End Sub
Obrigado
Luiz
Na linha abaixo você está criando um RecordSet sobre toda a planilha
[txt-color=#0000f0]oCmd.CommandText = [Ô]SELECT * from [Plan1$][Ô][/txt-color]
Ai depois disso você testa se os campos 1, 2 e 3 não são nulos e resgata os valores, onde os campos 1, 2 e 3 correspondem as colunas A, B e C respectivamente.
Para selecionar um intervalo especifico você pode alterar seu codigo da seguinte maneira
[txt-color=#0000f0]oCmd.CommandText = [Ô]SELECT * from [Plan1$C1:C5][Ô][/txt-color]
Com o código acima você vai trazer apenas 1 campo que é a coluna C.
Ai você pode com a mesma logica setar novamente o objeto com outro intervalo depois de ter recuperado o valor.
Espero ter ajudado.
[txt-color=#0000f0]oCmd.CommandText = [Ô]SELECT * from [Plan1$][Ô][/txt-color]
Ai depois disso você testa se os campos 1, 2 e 3 não são nulos e resgata os valores, onde os campos 1, 2 e 3 correspondem as colunas A, B e C respectivamente.
Para selecionar um intervalo especifico você pode alterar seu codigo da seguinte maneira
[txt-color=#0000f0]oCmd.CommandText = [Ô]SELECT * from [Plan1$C1:C5][Ô][/txt-color]
Com o código acima você vai trazer apenas 1 campo que é a coluna C.
Ai você pode com a mesma logica setar novamente o objeto com outro intervalo depois de ter recuperado o valor.
Espero ter ajudado.
Boa tarde Fabio obrigado pelo retorno, como eu faço para colocar nos textbox, os valores do intervalo?
Obrigado
Luiz
Obrigado
Luiz
Boa noite achei uma solução.
Sub Command()
Dim ObjetoExcel As New Excel.Application
Dim Celulas As Excel.Workbook
Dim I As Integer
Set Celulas = ObjetoExcel.Workbooks.Open([Ô]C:\deltav\estoque.xls[Ô])
Celulas.Sheets([Ô]Plan1[Ô]).Select
Text1.Text = Celulas.Application.Cells(1, 1)
Text2.Text = Celulas.Application.Cells(1, 2)
Text3.Text = Celulas.Application.Cells(6, 6)
Celulas.Close False
Set celula = Nothing
Set ObjetoExcel = Nothing
End Sub
Sub Command()
Dim ObjetoExcel As New Excel.Application
Dim Celulas As Excel.Workbook
Dim I As Integer
Set Celulas = ObjetoExcel.Workbooks.Open([Ô]C:\deltav\estoque.xls[Ô])
Celulas.Sheets([Ô]Plan1[Ô]).Select
Text1.Text = Celulas.Application.Cells(1, 1)
Text2.Text = Celulas.Application.Cells(1, 2)
Text3.Text = Celulas.Application.Cells(6, 6)
Celulas.Close False
Set celula = Nothing
Set ObjetoExcel = Nothing
End Sub
Tópico encerrado , respostas não são mais permitidas