Você pode ter problemas quando você está tentando escrever de forma programática para uma planilha do Excel aberta , especialmente se você está abrindo uma segunda vez . O Excel não suporta abrir outro livro com o mesmo nome, mesmo que seja armazenado em um caminho diferente. Com o Visual Basic for Applications, ou VBA, você pode usar o objeto Window interface para mudar o Windows ativa em vez de abrir a planilha para transferir dados. Usando o objeto Window também pode melhorar a velocidade de transferência de dados , porque você não tem que abrir a planilha várias vezes para escrever nele. Instruções
1
lançamento Excel e escreva "Esta é a folha aberta " em " A1 ". Guarde o livro para "C: \\ Temp \\". " Sheet1.xlsx " como
2
Inicie uma nova sessão do Excel, e digite " dados a" em "A1 ", " dados de b " em "B1" e " dados c " em " C1 ". Clique na guia "Desenvolvedor" , e clique em " Visual Basic " para iniciar a janela Editor do Visual Basic . Clique no menu "Inserir" e clique em "Módulo ". Digite o seguinte código para criar um novo procedimento :
Private Sub transferDataToSheet ()
Pressione " Enter".
3
Copie e cole o seguinte criar três variáveis para armazenar dados de célula :
Dim clmnA As String Dim
clmnB As String Dim
clmnC As String
4
Copiar e cole o seguinte código para salvar os valores nas células A1 , B1 e C1 em variáveis : . .
com Worksheets ( " Sheet1" )
Range (" A1") Selecione
clmnA = ActiveCell.Value
. Range (" B1 " ) . Selecione
clmnB = ActiveCell.Value
. Range (" C1" ) . Selecione
clmnC = ActiveCell.Value
End With
5
Copie e cole o seguinte para ativar a planilha aberta ( Sheet1.xlsx ) :
. do Windows ( "Sheet1" ) Activate
6
Copie e cole o seguinte para transferir os dados da planilha atual para a planilha aberta :
com Worksheets ( " Sheet1" )
. Range (" A2 " ) . Selecione
Selection.Value = clmnA
. Range (" B2 " ) . Selecione
Selection.Value = clmnB
. Range (" C2 " ) . Selecione
Selection.Value = clmnC
End With
7
Pressione " F5" para executar o procedimento para transferir dados para a planilha aberta.