-
Posts
10 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por GabrielSilvaLoki
-
-
2 minutos atrás, CasaDoHardware disse:
Tentou configurar a pagina como sugeri?
Oi, não posso definir páginação padrão. É váriável, já que trabalhará com vários documentos neste formato, mas com quantidades diferentes.
-
2 minutos atrás, CasaDoHardware disse:
E so configurar a pagina corretamente, ou seja a cada um numero x de linhas você insere uma quebra de pagina e pronto.
Fiz uma pequena alteração:
Dim paginatual As String paginatual = "1" ordem = 1 For contador = 5 To final wksDest.Range("A" & contador).Value = ordem paginatual = wksDest.Range("B" & contador).Value If paginatual <> paginatual Then ordem = 1 Else ordem = ordem + 1 End If Next
Ou seja, eu gravo o texto da coluna B5 na variável "paginatual" e vou fazendo o For enquanto a variável de valor for igual. Se for diferente, ele reseta o contador de ordem, caso não, ele continua.
Mas ainda assim não está funcionando.
-
2 minutos atrás, CasaDoHardware disse:
você precisa configurar a planilha leo, pra saber qtas linhas vai ter em cada pagina, isso vai depender se ela vai estar em retrato ou paisagem entre outras configurações que você venha aplicar.
Fiz um ajuste para 80 linhas por pagina dentro do next que realiza a contagem, esta assim
if ordem = 80 then
ordem = 1
end if
ou seja quando o contador chegar a 80 ele reinicia e começa novamente com 1
Tb nao entendi porque você separou em 03 arquivos, pode usar tudo em um unico.
Segue o arquivo com a macro, faça os devidos ajustes afinal e você quem vai definir qtas linhas tera por pagina, e teste para ver se funciona como deseja.
Oi,
A quantidade de produtos por página é variável... não consigo deixar ela fixa assim.
-
1 minuto atrás, CasaDoHardware disse:
De qual planilha?
A planilha Leo, que será salva com outro nome quando a macro é finalizada.
O arquivo que contém o código é o nomeado "macro"
O arquivo com os valores iniciais é "SP"
O arquivo que vão ser inseridos os valores é "leo" -
5 minutos atrás, CasaDoHardware disse:
Completa amigo com o codigo e funcionando eu nao sou adivinho não sei onde esta o codigo e nem sei o que ele faz ate rodar
Indique na planilha onde você quer a numeração, mesmo que manualmente
Oi, o codigo está na planilha macro, que quando acionada a macro, irá pedir a planilha SP.
Os valores serão todos colados na planilha leo
A ordenação irá na coluna A, levando em referência a paginação da coluna B.
Obs: todos os arquivos devem estar no mesmo diretório.
-
1 minuto atrás, CasaDoHardware disse:
Sua planilha original é assim???
Oi, desculpa! Esqueci da original e a padrão que recebe o paste.
Segue. Original é a SP.
-
1 minuto atrás, CasaDoHardware disse:
De novo... disponibilize o arquivo.
Desculpe! Segue arquivo!
-
10 minutos atrás, CasaDoHardware disse:
Limita o contador ao numero de linhas da pagina, ou seja quando o contador atingir o numero maximo ele reinicia....
Se nao conseguir disponibilize o arquivo
Segue abaixo o código completo da macro:
Sub fnc() Dim wkbOrigem As Excel.Workbook Dim wkbOrigem2 As Excel.Workbook Dim wksOrigem As Excel.Worksheet Dim wkbDest As Excel.Workbook Dim wksDest As Excel.Worksheet Dim lngLast As Integer Dim Titulo As Variant Dim Arquivo As Variant Dim ArquivoFinal As Variant Dim codigoficha As String Dim nomeficha As String Dim pagina As String Dim unidade As String Dim Filtro1 As String Dim valorparcela As String Dim numeroparcela As String Dim abelinhaqte As String Dim abelinhapreco As String Dim ordem As Integer Dim contador As Integer Dim final As Integer ordem = 1 Filtro1 = "Text files (*.xl*),*.xl*" ArquivoFinal = ActiveWorkbook.Path & "\leo.xlsx" 'Colunas codigoficha = "J" nomeficha = "K" precovista = "P" pagina = "C" unidade = "L" valorparcela = "R" numeroparcela = "Q" abelinhaqte = "V" abelinhapreco = "W" 'Verifica se a planilha do retail existe If Dir(ArquivoFinal) <> "" Then 'Pega caminho dos arquivos MsgBox ("Insira o arquivo de origem") Arquivo = Application.GetOpenFilename(Filtro1) ArquivoFinal = ActiveWorkbook.Path & "\leo.xlsx" 'Abre pastas de trabalho e planilhas. 'Altere os caminhos e nomes de planilhas para adequar a seu caso. Set wkbOrigem = Workbooks.Open(Arquivo) Set wksOrigem = wkbOrigem.Worksheets(1) Set wkbDest = Workbooks.Open(ArquivoFinal) Set wksDest = wkbDest.Worksheets("SP") 'Descobre a última linha da planilha de destino With wksDest lngLast = .Cells(.Rows.Count, "D").End(xlUp).Row + 1 End With wksOrigem.Activate 'Codigo de barras wksOrigem.Range(codigoficha & "5:" & codigoficha & "250").Copy wksDest.Cells(lngLast, "D").PasteSpecial Paste:=xlPasteValues 'Nome ficha wksOrigem.Range(nomeficha & "5:" & nomeficha & "250").Copy wksDest.Cells(lngLast, "E").PasteSpecial Paste:=xlPasteValues 'Preço Vista wksOrigem.Range(precovista & "5:" & precovista & "250").Copy wksDest.Cells(lngLast, "K").PasteSpecial Paste:=xlPasteValues 'Página wksOrigem.Range(pagina & "5:" & pagina & "250").Copy wksDest.Cells(lngLast, "B").PasteSpecial Paste:=xlPasteValues 'Unidade wksOrigem.Range(unidade & "5:" & unidade & "250").Copy wksDest.Cells(lngLast, "V").PasteSpecial Paste:=xlPasteValues 'Parcela wksOrigem.Range(numeroparcela & "5:" & numeroparcela & "250").Copy wksDest.Cells(lngLast, "Z").PasteSpecial Paste:=xlPasteValues 'Valor Parcela wksOrigem.Range(valorparcela & "5:" & valorparcela & "250").Copy wksDest.Cells(lngLast, "Q").PasteSpecial Paste:=xlPasteValues 'Abelinha Qte wksOrigem.Range(abelinhaqte & "5:" & abelinhaqte & "250").Copy wksDest.Cells(lngLast, "V").PasteSpecial Paste:=xlPasteValues 'Abelinha Preço wksOrigem.Range(abelinhapreco & "5:" & abelinhapreco & "250").Copy wksDest.Cells(lngLast, "W").PasteSpecial Paste:=xlPasteValues 'Se quiser colar valores: 'wksOrigem.Range("D5:D250").Copy 'wksDest.Cells("D5").PasteSpecial Paste:=xlPasteValues 'Conta o final da planilha tratada With wksDest final = .Cells(.Rows.Count, "D").End(xlUp).Row End With 'Numera a ordem Dim pegapagina As String Dim contapagina As Integer contapagina = 1 pegapagina = wksDest.Range("A" & contapagina).Value Do While pegapagina = pegapagina For contador = 5 To final wksDest.Range("A" & contador).Value = ordem ordem = ordem + 1 Next Loop 'Renomeia a Sheet com o nome da Praça Dim NovaPraca As String NovaPraca = InputBox("Digite o Nome da Praça:", "Praça", "") 'Se a praça não for SP, coloca a SP como base If NovaPraca <> "SP" Then wksDest.Cells(1, "B").Value = "SP" End If wkbOrigem.Close SaveChanges:=False wksDest.Name = NovaPraca wkbDest.SaveCopyAs Filename:="RetailLeo_" & NovaPraca & ".xlsx" wkbDest.Close SaveChanges:=False wkbDest.Close Else MsgBox ("Arquivo padrão retail não encontrado") End If End Sub
-
Boa tarde,
Preciso de ajuda urgente!!
Estou criando uma macro que copia os valores de uma planilha para outra e, em determinado momento, ela copia uma coluna que ontem números de páginas.
em outra coluna, preciso númerar cada produto nas páginas, ou seja, pagina 1 terá o produto 1,2,3,n... Página 2 produtos 1,2,n... E assim consecutivamente.
Preciso de ajuda para fazer essa numeração automática para cada página. Consegui fazer um For que númera, mas ainda não identifica as páginas, ou seja, está trabalhando com todos os produtos como se fossem de uma página só.
Segue abaixo trecho do código:
'Conta o final da planilha tratada With wksDest final = .Cells(.Rows.Count, "D").End(xlUp).Row End With 'Numera a ordem Dim pegapagina As String Dim contapagina As Integer contapagina = 1 pegapagina = wksDest.Range("A" & contapagina).Value Do While pegapagina = pegapagina For contador = 5 To final wksDest.Range("A" & contador).Value = ordem ordem = ordem + 1 Next Loop
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Vba/excel - autonumerar colunas
em Microsoft Office e similares
Postado
Resolvido.
Utilizei o seguinte código: