Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#68923
Boa tarde pessoal!

Preciso da ajuda de vocês, que são feras no assunto...

É o seguinte:

Na ABA "Cronograma" tenho uma coluna B preenchida com o nome da peça e a partir da coluna N tenho um calendário do ano todo onde faço as programações para fabricação das peças.

O que eu preciso pode ser bem simples aos Senhores:
Preciso de uma macro onde a execução da mesma se dê a partir de um botão que me solicite o dia e a partir daí copie somente as células preenchidas daquela coluna (dia) + coluna B (nome da peça) cole na celula "Programação"

Segue uma imagem para facilitar!
CRONOGRAMA
Imagem

PROGRAMAÇÃO
Imagem

Basicamente é uma macro para fazer um resumo das peças a serem fabricadas no dia.

Valeuu :D
#68927
GuilhermePires escreveu: 28 Jan 2022 às 17:48 Segue uma imagem para facilitar!
Sugestão: disponibilize diretamente aqui no fórum uma amostra do seu arquivo Excel, com alguns dados na planilha, cite um exemplo e mostre o respectivo resultado desejado.

Imagens não servem!
#68963
Osvaldo, bom dia!

Segue planilha... o resumo da programação eu gostaria de gerar a partir de um botão que me solicitasse o dia que eu quero gerar a programação. A programação por fim é apenas uma lista simples, sem nenhuma configuração a mais....

Obrigado pelo retorno até o momento.
Planejamento e controle de produção.xlsx
Você não está autorizado a ver ou baixar esse anexo.
#68971
Olá, @GuilhermePires .

Cole uma cópia do código abaixo no módulo da planilha Programação. Para acessar o módulo clique com o direito na guia daquela planilha e escolha Exibir Código.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim LR As Long, LC As Long, c As Range
  If Target.Address <> "$A$1" Then Exit Sub
  If [A2] <> "" Then Range("A2:B" & Cells(Rows.Count, 1).End(3).Row) = ""
  With Sheets("Cronograma")
   On Error Resume Next
   .AutoFilterMode = False
   On Error GoTo 0
   LR = .Cells(Rows.Count, 4).End(3).Row
   LC = .Cells(4, Columns.Count).End(1).Column
   Set c = .Rows(4).Find(Sheets("Programação").[A1])
   If Not c Is Nothing Then
    .Range(.Cells(6, 4), .Cells(6, LC)).AutoFilter c.Column - 3, "<>"
    If .AutoFilter.Range.Columns(c.Column).SpecialCells(xlCellTypeVisible).Count > 1 Then
     .Range("E7:E" & LR).Copy [A2]
     .Range(.Cells(7, c.Column), .Cells(LR, c.Column)).Copy [B2]
    End If
    On Error Resume Next
    .AutoFilterMode = False
    On Error GoTo 0
   Else: MsgBox "DATA NÃO ENCONTRADA"
   End If
  End With
End Sub

funcionamento - insira a data desejada em A1 da planilha Programação, o código acima irá lançar a programação correspondente à data inserida.
GuilhermePires agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord