Excel vba planilha importar dados tabela bd access

Sex, 02 de Novembro de 2012 10:51 Expedito Marcondes
Imprimir
Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções




<< Pratica com Excel x Access - Saberexcel   >>
Neste tabela do Banco de Dados Access contém:

- Um campo Chamado Nome_Cliente

- Um campo Chamado Cidade

- Um campo Chamado Salario
- Um campo Chamado DataNasc
- Um campo Chamado

 

Observeração: a base de dados Access.mdb deverá existir dentro do mesmo Diretório

 

'//=======' Esse exemplo de planilha esta na área de assinantes Saberexcel

' http://www.microsoftexcel.com.br

' - - - - - - - - - - - - - - - - - - - - -'

Sub sbx_ler_bd_access_dao()

'habilite a referencia Microsoft DAO 3.6 dentro de Ferramentas/Referncias

'caso nao estiver em suas referencias procure por (Sistem32/dao360.dll)

Dim bd As Database

Dim rs As Recordset

Set bd = OpenDatabase(ActiveWorkbook.Path & "\access2000.mdb")

Set rs = bd.OpenRecordset("Select * From Cliente")

i = 2

Set rs = bd.OpenRecordset("select count(*) as vNum from cliente")

'//=======' retornando a mensagem número de clientes cadastrados na tabela access

MsgBox "Há [ " & rs("vNum") & " ] clientes cadastrados nesta Tabela Access" & vbCrLf & _

"-----------------------------------" & vbCrLf & _

"Escola Saberexcel VBA Estudos®" & vbCrLf & _

"Treinamentos com Macros, Fórmulas e Funções", vbInformation, "Escola Saberexcel VBA Treinamentos®"

rs.Close

Set rs = bd.OpenRecordset("Select * From Cliente")

i = 2

Do While Not rs.EOF

Cells(i, 1) = rs!Nome_Cliente

Cells(i, 2) = rs!Cidade

Cells(i, 3) = rs!Salario

Cells(i, 4) = rs!DataNasc

Cells(i, 5) = rs!N°

rs.MoveNext

i = i + 1

Loop

End Sub

 

 

'//=======' macro usando instrução for para localizar a região usada e limpar dados
''//=======' observe que (dois pontos (
:) em códigos significam (Linha debaixo)

Sub sbx_limpar_teste()

Dim i As Single

For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row

Range("A" & CStr(i)).Resize(, 5).ClearContents: [g11].clearcontents

Next i
Saber1.Label2.Visible = False

End Sub

'//=======' macro para treinamento e teste com visual basic application

Sub sbx_negritando_dados()

Dim vLinha As Single 'declarado como single por ser muito poucas linhas.estude sobre variáveis

Saber1.[a2:e100].Font.Bold = False

Saber2.[a2:e100].ClearContents

Dim i As Single

vLinha = 2

For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row

If Saber1.Range("b" & CStr(i)) = Saber1.Range("g1") Then

Saber1.Range("a" & CStr(i)).Resize(, 5).Font.Bold = True

Saber1.Range("a" & CStr(i)).Resize(, 5).Copy Saber2.Range("A" & CStr(vLinha))

Saber2.Range("a" & CStr(vLinha)).Resize(, 5).Font.Bold = False

vLinha = vLinha + 1

End If

Next i

'//=======' msgbox retorna vbyesno para acesso a folha de planilha (Saber2)

resp = MsgBox("Dados negritados e copiados para planilha 'Auxiliar' Deseja ver?" & vbCrLf & _

"[ " & vLinha - 2 & " ] Clientes de " & Saber1.Range("g1").Value, vbYesNo + vbInformation, "Escola Saberexcel VBA Estudos®")
'//=======' retornando valor para um label em  uma determinada folha de planiha usando uma WorksheetFunctions (poderia ter usado a Variavel (vLinha -2)

Saber2.lbCONTAFILTRO.Caption = "Foram filtrados [ " & Application.WorksheetFunction.CountA(Saber2.Range("a2:a100")) & _ '// Aplicar a var (vLinha) tb retorna num Cliente

" ] clientes da cidade de [ " & Saber1.Range("g1").Value & " ]"

If resp = 6 Then '//====' 6 é igual a sim

Saber2.Select

[a1].Select

End If

End Sub

'//=======' para retornar a folha de planilha (Saber1)

''//=======' observe que sempre uso o nome da folha de código da folha de planilha [que esta fora do parêntese)

'''//=======' porque se seu usuário mudar o nome da folha de planilha na aba de planilha [nao gerará erro]

Sub sbx_voltar_plan1()

Saber1.Select '//=======' uso sempre o nome da 'folha de código da folha de planilha' e nao o nome da 'folha de planilha'.

[f1].Select

End Sub



Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.

PROMOÇÃO: Aprenda Excel VBA, escrevendo menos e fazendo mais, com simplicidade de códigos. PagSeguro ou Contas Bancárias



Baixe o exemplo planilha contendo os macros e procedimentos acima:   << Registre-se em nosso Site >>>
Excel vba planilha imprtar dados tabela bd access (59.92 KB)

Tags:
Última atualização em Qua, 11 de Março de 2020 17:23