INSERIR DADOS NO EXCEL PELO VB COM PARAMETRO SQL
so consigo inserir o ultimo registro
vai o codigo
vai o codigo
faltou o código
o problema está na seleção da célula...
Cells(5, 1)
quando você amarra a posição como você fez, todos os dados são sempre escritos no mesmo local...
eu não entendi a ultima linha do loop
l = xlSheet.Cells(x, y) + 1
não vi onde você usa este dado.
Faça da seguinte forma
DIM CELULA as Integer
Set frmreladia.Data1.Recordset = db.OpenRecordset("asemanal")
frmreladia.Data1.Refresh
Do While Not frmreladia.Data1.Recordset.EOF
xlSheet.Cells(5, Celula * 4 + 1) = Format(frmreladia.Data1.Recordset("data"), "mm/dd/yyyy")
xlSheet.Cells(5, Celula * 4 + 1).Borders.LineStyle = 3
xlSheet.Cells(5, Celula * 4 + 1).Borders.Weight = 1
xlSheet.Cells(5, Celula * 4 + 1).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 1).Font.Size = 7
xlSheet.Cells(5, Celula * 4 + 2) = frmreladia.Data1.Recordset("Nome")
xlSheet.Cells(5, Celula * 4 + 2).Borders.LineStyle = 3
xlSheet.Cells(5, Celula * 4 + 2).Borders.Weight = 1
xlSheet.Cells(5, Celula * 4 + 2).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 2).Font.Size = 7
xlSheet.Cells(5, Celula * 4 + 3) = frmreladia.Data1.Recordset("Tel")
If bCinza Then xlSheet.Cells(5, Celula * 4 + 3).Interior.ColorIndex = 15
xlSheet.Cells(5, Celula * 4 + 3).Borders.LineStyle = 3
xlSheet.Cells(5, Celula * 4 + 3).Borders.Weight = 1
xlSheet.Cells(5, Celula * 4 + 3).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 3).Font.Size = 7
xlSheet.Cells(5, Celula * 4 + 4) = frmreladia.Data1.Recordset("Ligacao")
If bCinza Then xlSheet.Cells(5, Celula * 4 + 4).Interior.ColorIndex = 15
xlSheet.Cells(5, Celula * 4 + 4).Borders.LineStyle = 3
xlSheet.Cells(5, Celula * 4 + 4).Borders.Weight = 1
xlSheet.Cells(5, Celula * 4 + 4).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 4).Font.Size = 7
l = xlSheet.Cells(x, y) + 1
frmreladia.Data1.Recordset.MoveNext
Loop
Cells(5, 1)
quando você amarra a posição como você fez, todos os dados são sempre escritos no mesmo local...
eu não entendi a ultima linha do loop
l = xlSheet.Cells(x, y) + 1
não vi onde você usa este dado.
Faça da seguinte forma
DIM CELULA as Integer
Set frmreladia.Data1.Recordset = db.OpenRecordset("asemanal")
frmreladia.Data1.Refresh
Do While Not frmreladia.Data1.Recordset.EOF
xlSheet.Cells(5, Celula * 4 + 1) = Format(frmreladia.Data1.Recordset("data"), "mm/dd/yyyy")
xlSheet.Cells(5, Celula * 4 + 1).Borders.LineStyle = 3
xlSheet.Cells(5, Celula * 4 + 1).Borders.Weight = 1
xlSheet.Cells(5, Celula * 4 + 1).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 1).Font.Size = 7
xlSheet.Cells(5, Celula * 4 + 2) = frmreladia.Data1.Recordset("Nome")
xlSheet.Cells(5, Celula * 4 + 2).Borders.LineStyle = 3
xlSheet.Cells(5, Celula * 4 + 2).Borders.Weight = 1
xlSheet.Cells(5, Celula * 4 + 2).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 2).Font.Size = 7
xlSheet.Cells(5, Celula * 4 + 3) = frmreladia.Data1.Recordset("Tel")
If bCinza Then xlSheet.Cells(5, Celula * 4 + 3).Interior.ColorIndex = 15
xlSheet.Cells(5, Celula * 4 + 3).Borders.LineStyle = 3
xlSheet.Cells(5, Celula * 4 + 3).Borders.Weight = 1
xlSheet.Cells(5, Celula * 4 + 3).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 3).Font.Size = 7
xlSheet.Cells(5, Celula * 4 + 4) = frmreladia.Data1.Recordset("Ligacao")
If bCinza Then xlSheet.Cells(5, Celula * 4 + 4).Interior.ColorIndex = 15
xlSheet.Cells(5, Celula * 4 + 4).Borders.LineStyle = 3
xlSheet.Cells(5, Celula * 4 + 4).Borders.Weight = 1
xlSheet.Cells(5, Celula * 4 + 4).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 4).Font.Size = 7
l = xlSheet.Cells(x, y) + 1
frmreladia.Data1.Recordset.MoveNext
Loop
desta forma você trabalha com linhas, para trabalhar com colunas você muda para
Cells(Celula * 5 + 1, 1) 'por exemplo
Cells(Celula * 5 + 1, 1) 'por exemplo
= xlSheet.Cells(x, y) + 1
frmreladia.Data1.Recordset.MoveNext
Loop
falha minha
antes de Loop
= xlSheet.Cells(x, y) + 1
frmreladia.Data1.Recordset.MoveNext
Celula = Celula + 1
Loop
frmreladia.Data1.Recordset.MoveNext
Loop
falha minha
antes de Loop
= xlSheet.Cells(x, y) + 1
frmreladia.Data1.Recordset.MoveNext
Celula = Celula + 1
Loop
entao é só substituir o que tiver algo como
Cells(5, Celula * 4 + Numero) por
Cells (5 + Celula, Numero)
xlSheet.Cells(5, Celula * 4 + 1).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 1).Font.Size = 7
xlSheet.Cells(5, Celula * 4 + 2) = frmreladia.Data1.Recordset("Nome")
xlSheet.Cells(5, Celula * 4 + 2).Borders.LineStyle = 3
xlSheet.Cells(5 + Celula, 1).Font.Name = "Verdana"
xlSheet.Cells(5 + Celula, 1).Font.Size = 7
xlSheet.Cells(5 + Celula, 2) = frmreladia.Data1.Recordset("Nome")
xlSheet.Cells(5 + Celula, 2).Borders.LineStyle = 3
Cells(5, Celula * 4 + Numero) por
Cells (5 + Celula, Numero)
xlSheet.Cells(5, Celula * 4 + 1).Font.Name = "Verdana"
xlSheet.Cells(5, Celula * 4 + 1).Font.Size = 7
xlSheet.Cells(5, Celula * 4 + 2) = frmreladia.Data1.Recordset("Nome")
xlSheet.Cells(5, Celula * 4 + 2).Borders.LineStyle = 3
xlSheet.Cells(5 + Celula, 1).Font.Name = "Verdana"
xlSheet.Cells(5 + Celula, 1).Font.Size = 7
xlSheet.Cells(5 + Celula, 2) = frmreladia.Data1.Recordset("Nome")
xlSheet.Cells(5 + Celula, 2).Borders.LineStyle = 3
onde está o código onde você cria a tabela?
nao sei se consigo te ajudar, a unica coisa que eu alteraria seria
Set xlApp = CreateObject("EXCEL.Application")
por
set xlApp = new Excel.Application
mas nao acredito que isto reflita em problemas para voce
Set xlApp = CreateObject("EXCEL.Application")
por
set xlApp = new Excel.Application
mas nao acredito que isto reflita em problemas para voce
Tópico encerrado , respostas não são mais permitidas