IMPORTAR DADOS EXCEL
Quero Importar uma lista de alunos do excel como faço?
Quero pegar o valor de celula por celula sempre pra baixo
Irei Pegando valor por valor e jogando nas caixas de texto o usuario apenas escolherá algumas opçõescomo número de chamada e turma.
________________
|___Vagner________|
|___Jorge _________|
|___Beatriz________|
|
|
|
\/
Quero pegar o valor de celula por celula sempre pra baixo
Irei Pegando valor por valor e jogando nas caixas de texto o usuario apenas escolherá algumas opçõescomo número de chamada e turma.
________________
|___Vagner________|
|___Jorge _________|
|___Beatriz________|
|
|
|
\/
Primeiro, Vá no menu Projects / References;
Procure as referências [Ô]Microsoft Excel 11.0 Object Library[Ô] (ou a sua versão).
Para este exemplo, eu fiz uma planilha pequena com três nomes só, iniciando da célula 4, na coluna 1.
[txt-color=#e80000](Lembre-se que é só um exemplo, se for o que você precisa, faça as mudanças necessa'rias para sua aplicação)[/txt-color]
Supondo que os nomes serão inseridos assim que o Form carregar, faça deste jeito:
[txt-color=#0000f0]Private Sub[/txt-color] Form_Load()
[txt-color=#0000f0]Dim[/txt-color] ObjetoExcel [txt-color=#0000f0]As New [/txt-color]Excel.Application
[txt-color=#0000f0]Dim[/txt-color] Celulas [txt-color=#0000f0]As[/txt-color] Excel.Workbook
[txt-color=#0000f0]Dim[/txt-color] I [txt-color=#0000f0]As Integer[/txt-color]
[txt-color=#e80000] Atenção porque aqui entra o caminho e o nome (completos, com extensão e tudo) do seu arquivo[/txt-color]
[txt-color=#0000f0]Set[/txt-color] Celulas = ObjetoExcel.Workbooks.Open([Ô]C:\Documents and Settings\Busca certo\Meus documentos\horas extras.xls[Ô])
Celulas.Sheets([Ô]Plan1[Ô]).Select
[txt-color=#007100]Lembre-se que a pesquisa será iniciada no célula 4 da coluna 1[/txt-color]
[txt-color=#0000f0]For[/txt-color] I = 4 [txt-color=#0000f0]To[/txt-color] 6[txt-color=#007100] [ô]Loop entres as células[/txt-color]
Text1.Text = Celulas.Application.Cells(I, 1) [txt-color=#007100][ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
I = I + 1[txt-color=#007100] [ô]Incrementa a variável[/txt-color]
Text2.Text = Celulas.Application.Cells(I, 1) [txt-color=#007100][ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
I = I + 1[txt-color=#007100] [ô]Incrementa a variável[/txt-color]
Text3.Text = Celulas.Application.Cells(I, 1)[txt-color=#007100] [ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
[txt-color=#0000f0] Next[/txt-color]
Celulas.Close [txt-color=#0000f0]False[/txt-color]
[txt-color=#0000f0] Set [/txt-color]celula = [txt-color=#0000f0]Nothing[/txt-color]
[txt-color=#0000f0]Set[/txt-color] ObjetoExcel = [txt-color=#0000f0]Nothing[/txt-color]
[txt-color=#0000f0]End Sub[/txt-color]
Como eu disse, este é um PEQUENO exemplo de como importar dados do Excel.
Certamente sua aplicação tem mais de três caixas de textos, então mãos à obra porque o raciocÃnio é este.
Valeu
Procure as referências [Ô]Microsoft Excel 11.0 Object Library[Ô] (ou a sua versão).
Para este exemplo, eu fiz uma planilha pequena com três nomes só, iniciando da célula 4, na coluna 1.
[txt-color=#e80000](Lembre-se que é só um exemplo, se for o que você precisa, faça as mudanças necessa'rias para sua aplicação)[/txt-color]
Supondo que os nomes serão inseridos assim que o Form carregar, faça deste jeito:
[txt-color=#0000f0]Private Sub[/txt-color] Form_Load()
[txt-color=#0000f0]Dim[/txt-color] ObjetoExcel [txt-color=#0000f0]As New [/txt-color]Excel.Application
[txt-color=#0000f0]Dim[/txt-color] Celulas [txt-color=#0000f0]As[/txt-color] Excel.Workbook
[txt-color=#0000f0]Dim[/txt-color] I [txt-color=#0000f0]As Integer[/txt-color]
[txt-color=#e80000] Atenção porque aqui entra o caminho e o nome (completos, com extensão e tudo) do seu arquivo[/txt-color]
[txt-color=#0000f0]Set[/txt-color] Celulas = ObjetoExcel.Workbooks.Open([Ô]C:\Documents and Settings\Busca certo\Meus documentos\horas extras.xls[Ô])
Celulas.Sheets([Ô]Plan1[Ô]).Select
[txt-color=#007100]Lembre-se que a pesquisa será iniciada no célula 4 da coluna 1[/txt-color]
[txt-color=#0000f0]For[/txt-color] I = 4 [txt-color=#0000f0]To[/txt-color] 6[txt-color=#007100] [ô]Loop entres as células[/txt-color]
Text1.Text = Celulas.Application.Cells(I, 1) [txt-color=#007100][ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
I = I + 1[txt-color=#007100] [ô]Incrementa a variável[/txt-color]
Text2.Text = Celulas.Application.Cells(I, 1) [txt-color=#007100][ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
I = I + 1[txt-color=#007100] [ô]Incrementa a variável[/txt-color]
Text3.Text = Celulas.Application.Cells(I, 1)[txt-color=#007100] [ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
[txt-color=#0000f0] Next[/txt-color]
Celulas.Close [txt-color=#0000f0]False[/txt-color]
[txt-color=#0000f0] Set [/txt-color]celula = [txt-color=#0000f0]Nothing[/txt-color]
[txt-color=#0000f0]Set[/txt-color] ObjetoExcel = [txt-color=#0000f0]Nothing[/txt-color]
[txt-color=#0000f0]End Sub[/txt-color]
Como eu disse, este é um PEQUENO exemplo de como importar dados do Excel.
Certamente sua aplicação tem mais de três caixas de textos, então mãos à obra porque o raciocÃnio é este.
Valeu
Cara.vamos por parte
Primeiro trazer os dados da planilha
Dim xl As New Excel.Application
Dim xls As Excel.Workbook
Dim BD As Database
Dim Tabela As Recordset
[ô]Abrir o arquivo do Excel
Set xls = xl.Workbooks.Open(txtPath)
[ô] definir qual a planilha de trabalho
xls.Sheets([Ô]Plan1[Ô]).Select
Text1 = xls.Application.Cells(X,Y).Value [ô]oonde X é a linha e Y a coluna de forma numérica
[ô] Fechar a planilha sem salvar alterações
[ô] Para salvar mude False para True
xls.Close False
[ô] Liberamos a memória
Set xls = Nothing
Set xl = Nothing
Estou enviando em anexo um projeto que fiz para importar uma planilha em Excel para um banco no SQL Server.
Espero que seja útil para você e os demais membros do grupo.
Espero que seja útil para você e os demais membros do grupo.
Olha obrigado até o momento tudo certo;
só queria saber como escolher o arquivo xls pelo commodialog
e a escolha tanto da coluna como do número de linhas a se utilizar seja do usuario.
só queria saber como escolher o arquivo xls pelo commodialog
e a escolha tanto da coluna como do número de linhas a se utilizar seja do usuario.
Cara dá uma olhada neste pequeno exemplo e vê se é o que você precisa.
Lembre-se: Se este exemplo lhe ajudar, faça as mudanças necessárias para sua aplicação, feche o tópico e pontue.
Valeu
Lembre-se: Se este exemplo lhe ajudar, faça as mudanças necessárias para sua aplicação, feche o tópico e pontue.
Valeu
ok tudo bem vou testar!
gente usei esse exemplo postado pelo pegudo na hora de atribuir o valor a variavel o seguinte erro me aparece:
1004[ô] application-defined or object-defined error
1004[ô] application-defined or object-defined error
Faça uma conexão OLEDB com o Excel da mesma forma que se faz com o Access e utilize os Objetos Command, Recordset ... tudo da mesma forma como se estivesse trabalhando com o access. Abaixo o codigo para conexão comentado.
Conectar escolhendo a planilha com uma Comomdialog:
1 - Declare uma variavel string de nome: caminho
2 - Declare a conexão com o nome: cnn_excel
Private Sub conexao_excel()
[ô]conecta ao banco de dados, sendo este a planilha excel
[ô]para efetuar a conexão deve-se informar o caminho onde se localiza
[ô]a planilha através da caixa de dialogo abrir, a qual passará
[ô]o endereço na string [Ô]caminho[Ô]
If cnn_excel.State = 1 Then
cnn_excel.Close
End If
Dim Directory As Integer
CommonDialog1.Filter = [Ô]Arquivos do Excel 2003 (*.xls)|*.xls|[Ô] & _
[Ô]Arquivos do Excel 2007 (*.xlsx) |*.xlsx|[Ô]
CommonDialog1.ShowOpen
caminho = CommonDialog1.FileName
If CommonDialog1.FileName <> Empty Then
[ô]código da conexão com tratamento de erro
On Error GoTo errconexao
cnn_excel.ConnectionString = [Ô]provider = microsoft.jet.oledb.4.0; [Ô] & _
[Ô]data Source = [ô][Ô] & caminho & [Ô][ô];Extended Properties=Excel 8.0;[Ô]
cnn_excel.CursorLocation = adUseClient
cnn_excel.Open
Exit Sub
errconexao:
With Err
If .Number <> 0 Then
.Number = 0
Set cnn_excel = Nothing
End If
End With
End If
End Sub
Conectar escolhendo a planilha com uma Comomdialog:
1 - Declare uma variavel string de nome: caminho
2 - Declare a conexão com o nome: cnn_excel
Private Sub conexao_excel()
[ô]conecta ao banco de dados, sendo este a planilha excel
[ô]para efetuar a conexão deve-se informar o caminho onde se localiza
[ô]a planilha através da caixa de dialogo abrir, a qual passará
[ô]o endereço na string [Ô]caminho[Ô]
If cnn_excel.State = 1 Then
cnn_excel.Close
End If
Dim Directory As Integer
CommonDialog1.Filter = [Ô]Arquivos do Excel 2003 (*.xls)|*.xls|[Ô] & _
[Ô]Arquivos do Excel 2007 (*.xlsx) |*.xlsx|[Ô]
CommonDialog1.ShowOpen
caminho = CommonDialog1.FileName
If CommonDialog1.FileName <> Empty Then
[ô]código da conexão com tratamento de erro
On Error GoTo errconexao
cnn_excel.ConnectionString = [Ô]provider = microsoft.jet.oledb.4.0; [Ô] & _
[Ô]data Source = [ô][Ô] & caminho & [Ô][ô];Extended Properties=Excel 8.0;[Ô]
cnn_excel.CursorLocation = adUseClient
cnn_excel.Open
Exit Sub
errconexao:
With Err
If .Number <> 0 Then
.Number = 0
Set cnn_excel = Nothing
End If
End With
End If
End Sub
Tópico encerrado , respostas não são mais permitidas