Excel VBA - Copiar

  • - Acesso Livre
  • Documentos

    Ordenar por : Nome | Data | Acessos [ Descendente ]

    vba copia dados coluna a separado virgula inputbox relacionando vba copia dados coluna a separado virgula inputbox relacionando

    popular!
    Adicionado em: 20/11/2010
    Modificado em: 20/11/2010
    Tamanho: Vazio
    Downloads: 649

    Saberexcel - o site das macros
    Esses procedimentos do Aplicativo Microsoft Excel VBA, copia os dados da linha selecionada para a coluna(A1), selecionado o e listando os dados desejados. Isso com auxlio de uma entrada de dados (Inputbox)
    Observe que usei a propriedade OffSet para deslocar uma linha abaixo para colar os dados.
    É muito importante aprender sobre esta propriedade para um bom aprendizado em VBA, temos excelentes exemplos nos módulos
    COMO FAZER - Programação MS Excel VBA - Saberexcel.

    Private Sub Worksheet_Activate()
    Application.EditDirectlyInCell = False
    End Sub

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim vCelula As Long
    Dim vEndereco As String

    vCelula = ActiveCell.Row
    vEndereco = Cells(vCelula, 3)
    vEndereco = vEndereco & ", " & Cells(vCelula, 4)
    vEndereco = vEndereco & ", " & Cells(vCelula, 5)
    vEndereco = vEndereco & ", " & Cells(vCelula, 6)
    vEndereco = vEndereco & ", " & Cells(vCelula, 7)

    vEndereco = InputBox("Selecione a linha desejada!", Cells(vCelula, 4) & " - " & Cells(vCelula, 5) & "- [ Saberexcel ] ", vEndereco)
    [A65000].End(xlUp).Offset(1, 0).Select
    'deslocando para primeira célula em branco
    ActiveCell.Value = vEndereco

    End Sub



    Aprenda tudo sobre o aplicativo Microsoft Excel VBA com Saberexcel



    vba copia dados novos workbook salva diretorio vba copia dados novos workbook salva diretorio

    popular!
    Adicionado em: 20/11/2010
    Modificado em: 20/11/2010
    Tamanho: Vazio
    Downloads: 896

    Saberexcel - o Site das Macros
    Essa macro do Aplicativo Microsoft Excel VBA, contém macro que copia determinados dados de uma planilha e salva novos Workbook com nome dos dados existentes na coluna(A), foi escolhido o Diretório C:\VBA\ , mas você poderá indicar um novo caminho para seu computador, para entender melhor baixe a planilha exemplo.

    Sub Copiar_dados_novos_wkb_salvar()

    Dim wbkPrincipal As String
    Dim vNovoWkb As String
    Dim vLinha As Integer
    Dim vContinuar As Boolean

    Dim vColAMestre As String
    Dim vColATeste As String

    Dim WkbContador As Integer
    Dim vMensagem As String

    Dim vDiretorio As String
    Dim vArquivoNome As String

    Dim vColAValor As String

    'Diretorio onde salvará os novos Workbooks
    vDiretorio = "C:\VBA\"

    'Retorna o nome do workbook contendo os dados a serem copiados
    wbkPrincipal = ActiveWorkbook.Name

    'Inicilizando com variáveis
    vContinuar = True
    vLinha = 2
    WkbContador = 0

    'Inicio da comparação com a célula(A2)
    vColAMestre = "A2"

    'Loop em todos os ítemns coluna (A) até encontrar encontrar uma célula em branco
    While vContinuar = True

    vLinha = vLinha + 1
    vColATeste = "A" & CStr(vLinha)

    'Quando encontrar um célula em branco, sai do loop
    If Len(Range(vColATeste).Value) = 0 Then
    vContinuar = False
    End If

    'Valor que esta na coluna(A)
    vColAValor = Range(vColAMestre).Value

    'A ocorrência encontrada que que não combina, é copiada para o novo livro de exercícios
    If vColAValor <> Range(vColATeste).Value Then

    'Copiando o cabeçalho
    Range("A1:D1").Select
    Selection.Copy

    'Adicionando novo Workbook e colando o cabeçalho no novo Wkb Livro
    Workbooks.Add
    vNovoWkb = ActiveWorkbook.Name
    ActiveSheet.Paste
    Range("A1").Select

    'Copiando os dados da coluna A - D
    Windows(wbkPrincipal).Activate
    Range(vColAMestre & ":D" & CStr(vLinha - 1)).Select
    Selection.Copy

    'Colando os resultados
    Windows(vNovoWkb).Activate
    Range("A2").Select
    ActiveSheet.Paste
    Range("A1").Select
    On Error Resume Next 'tratando um possível erro

    'Salvando os Workboks se necessário com o nome das frases da coluna A
    'e logo fechando o livro de exercícios
    vArquivoNome = vDiretorio & vColAValor & ".xls"
    If Dir(vArquivoNome) <> "" Then Kill vArquivoNome
    ActiveWorkbook.SaveAs Filename:=vArquivoNome
    ActiveWorkbook.Close

    'Voltando para a planilha principal ao ponto desejado
    Windows(wbkPrincipal).Activate
    vColAMestre = "A" & CStr(vLinha)

    'variável contador emite na msgbox quantas planilhas foram salvas
    WkbContador = WkbContador + 1

    End If

    Wend

    Range("A1").Select
    Application.CutCopyMode = False

    vMensagem = "Dados copiados com sucesso! copiados para [ " & WkbContador & " ] novos Workbook."
    vMensagem = vMensagem & Chr(10) & "Salvo no Diretório : [ " & Chr(10) & vDiretorio & " ]"

    MsgBox vMensagem, vbInformation, "Saberexcel - o Site das Macros"

    End Sub

     

    Aprenda Aplicativo Microsoft Excel VBA com SaberExcel

    vba copia dados para outra planilha vba copia dados para outra planilha

    popular!
    Adicionado em: 20/11/2010
    Modificado em: 20/11/2010
    Tamanho: Vazio
    Downloads: 1523

    Saberexcel - o site das macros
    Essa macro do Aplicativo Microsoft Excel VBA, contém macro que copia determinados dados para outra folha de planilha.

    Sub Copiar_Dados()

    Dim vLinha As Integer
    Dim vColACelulas As String
    Dim vContinuar As Boolean

    'Seleciona Plan1
    Sheets("Plan1").Select
    Range("A2").Select

    'inicializando variáveis
    vContinuar = True
    vLinha = 2

    'O loop por todos os valores de coluna A até uma célula em branco é encontrado ou o valor não faz
    'combina com a célula valor de A2

    While vContinuar = True

    vLinha = vLinha + 1
    vColACelulas = "A" & CStr(vLinha)

    'encontrando uma célula em branco, não continua
    If Len(Range(vColACelulas).Value) = 0 Then
    vContinuar = False
    End If

    'A primeira ocorrência encontrada que não combinou com a célula valor de A2, não continua
    If Range("A2").Value <> Range(vColACelulas).Value Then
    vContinuar = False
    End If

    Wend

    'Dados da cópia de colunas A - C
    Range("A2:C" & CStr(vLinha - 1)).Select
    Selection.Copy

    'cola na planilha(Plan2) na célula (A1)
    Sheets("Plan2").Select
    Range("A1").Select
    ActiveSheet.Paste

    MsgBox "Dados copiados com sucesso", vbInformation, "Saberexcel - o site das macros"

    End Sub


    Aprenda Aplicativo Microsoft Excel VBA SaberExcel



    vba copia distribuindo dados produtos nas planilhas vba copia distribuindo dados produtos nas planilhas

    popular!
    Adicionado em: 20/11/2010
    Modificado em: 20/11/2010
    Tamanho: Vazio
    Downloads: 606

    SaberExcel - o Site das Macros
    Essa macro do Aplicativo Microsoft Excel VBA, copia dados desejados de uma planilha principal para outras planilhas indicadas, observe que a macro faz a referencia para exportação de dados na coluna(A), com o prefixo do nome da Planilha, por exemplo PRODUTORES LISTA, ("P"), SB PECAS("S"), TB CODIGO("T")

    Sub Copiando_dados_distribuindo_plans_desejadas()

    Dim vPlanPrincipal, vPlanilhaP, vPlanilhaS, vPlanilhaT As String
    Dim vContinuar As Boolean
    Dim vPrimeiraLinha, vLinha As Integer
    Dim vAtualPLinha, vAtualSLinha, vAtualTLinha As Integer

    'nome referenciando as folhas de planilha
    vPlanPrincipal = "BOM"
    vPlanilhaP = PRODUTORES LISTA"
    vPlanilhaS = "PARTES PECAS"
    vPlanilhaT = "CODIGOS"

    'Inicializando com as variáveis
    vContinuar = True
    vPrimeiraLinha = 13
    vLinha = vPrimeiraLinha
    vAtualPLinha = 12
    vAtualSLinha = 12
    vAtualTLinha = 12

    Sheets(vPlanPrincipal).Select

    'Um loop por todos os valores da coluna(A) até encontrar uma célula em branco
    While vContinuar = True

    'Quando encontrar uma célula em branco, não continua
    If Len(Range("A" & CStr(vLinha)).Value) = 0 Then
    vContinuar = False
    'copiando e formatando dados
    Else

    'inserindo uma borda arredondada nas células
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlEdgeLeft).LineStyle = xlContinuous
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlEdgeLeft).Weight = xlThin
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlEdgeTop).LineStyle = xlContinuous
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlEdgeTop).Weight = xlThin
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlEdgeBottom).Weight = xlThin
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlEdgeRight).LineStyle = xlContinuous
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlEdgeRight).Weight = xlThin
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlInsideVertical).LineStyle = xlContinuous
    Range("A" & CStr(vLinha) & ":I" & CStr(vLinha)).Borders(xlInsideVertical).Weight = xlThin

    'referenciando às células da coluna(I)
    Range("I" & CStr(vLinha)).Formula = "=H" & CStr(vLinha) & "*QTY"

    '--- "A" ---
    If Range("A" & CStr(vLinha)).Value = "A" Then

    'Negrito e justificando à esquerda
    Range(CStr(vLinha) & ":" & CStr(vLinha)).Font.Bold = True
    Range(CStr(vLinha) & ":" & CStr(vLinha)).HorizontalAlignment = xlLeft

    'se nao encontrar a primeira linha, insere uma linha em branco
    If vLinha <> vPrimeiraLinha Then
    Rows(CStr(vLinha) & ":" & CStr(vLinha)).Select
    Selection.Insert Shift:=xlDown
    vLinha = vLinha + 1
    End If

    '--- "P" ---
    ElseIf Range("A" & CStr(vLinha)).Value = "P" Then

    'Cópia dados avaliando das colunas B, C, F, G, para folha BMO
    Range("B" & CStr(vLinha) & ",C" & CStr(vLinha) & ",F" & CStr(vLinha) & ",G" & CStr(vLinha) & ",I" & CStr(vLinha)).Select
    Selection.Copy

    'Para folha "LISTA COMPRADORES"
    Sheets(vPlanilhaP).Select
    Range("A" & CStr(vAtualPLinha)).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Range("A1").Select

    'adicionando bordas arredondadas nas células
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlEdgeLeft).LineStyle = xlContinuous
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlEdgeLeft).Weight = xlThin
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlEdgeTop).LineStyle = xlContinuous
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlEdgeTop).Weight = xlThin
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlEdgeBottom).Weight = xlThin
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlEdgeRight).LineStyle = xlContinuous
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlEdgeRight).Weight = xlThin
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlInsideVertical).LineStyle = xlContinuous
    Range("A" & CStr(vAtualPLinha) & ":E" & CStr(vAtualPLinha)).Borders(xlInsideVertical).Weight = xlThin

    'incrementando linha contador na planilha "LISTA COMPRADORES"
    vAtualPLinha = vAtualPLinha + 1

    'Retornando a planilha BOM no local de origem
    Sheets(vPlanPrincipal).Select

    '--- "S" ---
    ElseIf Range("A" & CStr(vLinha)).Value = "S" Then

    'copia avaliando as colunas B, C, e E da folha BMO
    Range("B" & CStr(vLinha) & ",C" & CStr(vLinha) & ",E" & CStr(vLinha)).Select
    Selection.Copy

    'Cola os dados na planilha "PARTES PECAS"
    Sheets(vPlanilhaS).Select
    Range("A" & CStr(vAtualSLinha)).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    'copie valores das colunas D, F, G, e da folha BMO
    Sheets(vPlanPrincipal).Select
    Range("D" & CStr(vLinha) & ",F" & CStr(vLinha) & ",G" & CStr(vLinha) & ",I" & CStr(vLinha)).Select
    Selection.Copy

    'cola dados na planilha "PARTES PECAS"
    Sheets(vPlanilhaS).Select
    Range("D" & CStr(vAtualSLinha)).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Range("A1").Select

    'Insere bordas arredondadas nas células
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlEdgeLeft).LineStyle = xlContinuous
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlEdgeLeft).Weight = xlThin
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlEdgeTop).LineStyle = xlContinuous
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlEdgeTop).Weight = xlThin
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlEdgeBottom).Weight = xlThin
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlEdgeRight).LineStyle = xlContinuous
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlEdgeRight).Weight = xlThin
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlInsideVertical).LineStyle = xlContinuous
    Range("A" & CStr(vAtualSLinha) & ":G" & CStr(vAtualSLinha)).Borders(xlInsideVertical).Weight = xlThin

    'incrementa o contador de linhas na planilha "PARTES PECAS"
    vAtualSLinha = vAtualSLinha + 1

    'Retorna para planilha BMO e continua onde parou
    Sheets(vPlanPrincipal).Select

    '--- "T" ---
    ElseIf Range("A" & CStr(vLinha)).Value = "T" Then

    'copia valores da coluna B para planilha BMO
    Range("B" & CStr(vLinha)).Select
    Selection.Copy

    'Cola os dados na planilha "CODIGOS"
    Sheets(vPlanilhaT).Select
    Range("A" & CStr(vAtualTLinha)).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    'insere vírgula nos lugares na coluna(B)
    Range("B" & CStr(vAtualTLinha)).Value = ","

    'Copia os valores de coluna(I) da planilha BMO)
    Sheets(vPlanPrincipal).Select
    Range("I" & CStr(vLinha)).Select
    Selection.Copy

    'Cola os valores na planilha "CODIGOS"
    Sheets(vPlanilhaT).Select
    Range("C" & CStr(vAtualTLinha)).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Range("A1").Select

    'insere bordas arredondadas nas células
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlEdgeLeft).LineStyle = xlContinuous
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlEdgeLeft).Weight = xlThin
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlEdgeTop).LineStyle = xlContinuous
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlEdgeTop).Weight = xlThin
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlEdgeBottom).Weight = xlThin
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlEdgeRight).LineStyle = xlContinuous
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlEdgeRight).Weight = xlThin
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlInsideVertical).LineStyle = xlContinuous
    Range("A" & CStr(vAtualTLinha) & ":C" & CStr(vAtualTLinha)).Borders(xlInsideVertical).Weight = xlThin

    'incrementa o contador da planilha "CODIGOS"
    vAtualTLinha = vAtualTLinha + 1

    'Retorna para a planilha BMO
    Sheets(vPlanPrincipal).Select

    End If

    End If

    vLinha = vLinha + 1

    Wend

    MsgBox "Os dados foram copiados com sucesso!!", vbInformation, "Saberexcel - site das macros"

    End Sub



    Aprenda Aplicativo Microsoft Excel VBA --(( Saberexcel ))--



    vba copia itens selecionado para outra planilha vba copia itens selecionado para outra planilha

    popular!
    Adicionado em: 20/11/2010
    Modificado em: 20/11/2010
    Tamanho: Vazio
    Downloads: 1149

    Esta macro do Aplicativo Microsoft Excel VBA, contém uma macro que copia os dados de uma determinada planilha para outra planilha, isto é, copia os dados da Planilha ("Lista") para Planilha ("Resumo"). Observem como foi "Setado" (Set) as variáveis com os nomes das folhas de planilhas e os nomes dos intervalos range (para procura da área usada). e abra outra planilha chamada "Resumo". Então:
    Abra duas planilhas: "Lista" e "Resumo" a Planilha "Resumo" vai receber o relatório, isto o ítem que voce selecionar e executar a macro.




    Option Explicit

    Sub Artigo_para_resumo()
    'Excel VBA Estudos <Escola de Informática>
    Dim VlorDados As Variant
    Dim wsPlan As Worksheet, wsResumo As Worksheet
    Dim rnPlan As Range, rnResumo As Range, RnDados As Range
    Dim lnLinhaAtiva As Long, lnProximaLinha As Long

    Set wsPlan = ThisWorkbook.Worksheets("Lista")
    Set wsResumo = ThisWorkbook.Worksheets("Resumo")
    Set rnPlan = wsPlan.Range("A2", Range("C65536").End(xlUp))

    'Verificação de que a célula activa se encontra na barra de espaço
    'onde estão as celulas com os dados para serem transferidos.

    If Intersect(ActiveCell, rnPlan) Is Nothing Then
    MsgBox "Você deve selecionar um item no lista do estoque.", _
    vbInformation, "Fora da Area!! <Saberexcel.com>"
    Exit Sub
    End If

    'Recuperando na célula activa número da linha
    lnLinhaAtiva = ActiveCell.Row
    Set RnDados = wsPlan.Range("A" & lnLinhaAtiva & ":C" & lnLinhaAtiva)

    'são os valores das celulas(range)
    VlorDados = RnDados.Value

    'Identifica a próxima linha vazia na zona da recepção
    lnProximaLinha = wsResumo.Range("B65536").End(xlUp).Row + 1

    'Transferir os dados desejados
    wsResumo.Range("B" & lnProximaLinha & ":D" & lnProximaLinha) = VlorDados
    MsgBox "Valores da Linha " & lnLinhaAtiva & " Copiados para planilha Resumo!"

    End Sub


    Aprenda Aplicativo Microsoft Excel VBA - SaberExcel - o Site das Macros


    Página 2 de 3

    PROMOÇÃO DIDÁTICOS SABEREXCEL



    Adquira já o Acesso Imediato
    à Area de Membros

    Compra Grantida --- Entrega Imediata

    Aprenda Excel VBA com Simplicidade de 
    códigos e Eficácia, Escrevendo Menos e
    Fazendo Mais.

    '-------------------------------------'
    Entrega Imediata:
    +  500 Video Aulas MS Excel VBA
    +  35.000 Planilhas Excel e VBA
    +  Coleção 25.000 Macros MS Excel VBA
    +  141 Planilhas Instruções Loops
    +  341 Planilhas WorksheetFunctions(VBA)
    +    04 Módulos Como Fazer Excel VBA
    +  Curso Completo MS Excel VBA
    +  Planilhas Inteligentes


    Pesquisa Google SaberExcel

    Publicidade Google

    <script type="text/javascript"><!--

    google_ad_client = "ca-pub-2317234650173689";

    /* retangulo 336 x 280 */

    google_ad_slot = "0315083363";

    google_ad_width = 336;

    google_ad_height = 280;

    //-->

    </script>

    <script type="text/javascript"

    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

    </script>

    Publicidade

    RSFirewallProtected


    Google Associados

    Depoimentos

    Adicione Saberexcel Favoritos

     
     

    Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

    Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,


       Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA