Página 1 de 1
Macro que copia dados de uma seleção Plan2 e cola em Plan3
Enviado: 14 Fev 2017 às 13:44
por dgomedeiros
Boa tarde pessoal!!
Queria saber de você como faço um macro que copia os dados de uma seleção (a linha inteira ou células adjacentes a uma determinada célula) feita na Plan2 e cola estes dados na primeira célula vazia da Plan3. Antes de colar deve ser criado um enumerador de itens, mas este eu consigo fazer. Este macro será vinculado a um botão chamado "Adicionar" localizado na Plan2.
Objetivo da planilha: fazer uma busca de itens num banco de dados e ao selecionar um determinado item e clicar no botão "Adicionar" este item será copiado para uma nova planilha.
Macro que copia dados de uma seleção Plan2 e cola em Plan3
Enviado: 14 Fev 2017 às 14:32
por dgomedeiros
Por hora este aqui me resolveu. Quando alguém chegar a uma solução mais prática eu fecho o tópico.
Public Sub Adicionar()
Selection.Copy
Worksheets("Sheet3").Select
Linha = Range("A6000").End(xlUp).Row
If Range("A" & Linha).Value <> "" Then
Range("A" & Linha + 1).Value = Selection.Value
Else
Range("A" & Linha).Value = Selection.Value
End If
Worksheets("Sheet3").Paste
Selection.Insert Shift:=xlUp
Plan2.Select
End Sub
Re: Macro que copia dados de uma seleção Plan2 e cola em Pla
Enviado: 14 Fev 2017 às 14:47
por babdallas
Sub Copiar_Intervalo()
'Copia todas os dados da planilha 1 para a primeira célula vazia abaixo dos dados da planilha 2
Dim lin_ini As Long, col_ini As Long, col_fim As Long, lin_fim As Long
Dim lin_ini2 As Long, col_ini2 As Long, col_fim2 As Long, lin_fim2 As Long
Dim contador As Long
col_ini = 6 'Coluna inicial com dados da planilha1
lin_ini = 4 'Linha inicial de onde começam os dados da planilha 1
col_fim = Planilha1.Cells(lin_ini, Planilha1.Columns.Count).End(xlToLeft).Column 'Última coluna com dados da planilha1
lin_fim = Planilha1.Cells(Planilha1.Rows.Count, col_ini).End(xlUp).Row 'Última linha com dados da planilha1
col_ini2 = 1 'Coluna inicial com dados da planilha2
lin_ini2 = 2 'Linha inicial de onde começam os dados da planilha 2
col_fim2 = Planilha2.Cells(lin_ini2, Planilha2.Columns.Count).End(xlToLeft).Column 'Última lcoluna com dados da planilha2
lin_fim2 = Planilha2.Cells(Planilha2.Rows.Count, col_ini2).End(xlUp).Row 'Última linha com dados da planilha2
With Planilha1
.Range(.Cells(lin_ini, col_ini), .Cells(lin_fim, col_fim)).Copy _
Destination:=Planilha2.Cells(lin_fim2 + 1, col_ini2)
End With
End Sub
Re: Macro que copia dados de uma seleção Plan2 e cola em Pla
Enviado: 16 Fev 2017 às 11:03
por dgomedeiros
Segue abaixo como consegui resolver o que precisava e da forma que gostaria.
- Criar um novo Userform e adicionar o código abaixo:
Option Explicit
Private valor_pesquisado As String
_________________________________________________________
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim valor_lista As String
Dim selecao As String
selecao = ListBox1.ListIndex
valor_lista = ListBox1.List(selecao, 0)
frmAgenda.txtNome = valor_lista
frmAgenda.txtNome.SetFocus
frmAgenda.txtSetorCidade.SetFocus
frmAgenda.txtNome.SetFocus 'Coloca o cursor na caixa de texto Nome
Unload Me
End Sub
_________________________________________________________
Private Sub txtBuscar_Change()
valor_pesquisado = txtBuscar.Text
Call buscar_valores
End Sub
__________________________________________________
Private Sub frmBuscar_Initialize()
Call buscar_valores
End Sub
_________________________________________________________
Private Sub buscar_valores()
Dim guia As Worksheet
Dim linha As Integer
Dim coluna As Integer
Dim linhalistbox As Integer
Dim valor_celula As String
Set guia = ThisWorkbook.Worksheets(1)
linha = 2
coluna = 2
linhalistbox = 0
ListBox1.Clear
With guia
While .Cells(linha, coluna).Value <> Empty
valor_celula = .Cells(linha, coluna).Value
If UCase(Left(valor_celula, Len(valor_pesquisado))) = UCase(valor_pesquisado) Then
With frmBuscar.ListBox1
.AddItem
.List(linhalistbox, 0) = Sheets("Plan1").Cells(linha, 2)
linhalistbox = linhalistbox + 1
End With
End If
linha = linha + 1
Wend
End With
End Sub