Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Como usar a função MÁXIMO com vba
-
- Colaborador
- Mensagens: 10
- Registrado em: Sex Abr 01, 2022 11:56 am
Como usar a função MÁXIMO com vba
Bom dia a todos.
Como posso usar a função MÁXIMO($A$1:A1)+1 dessa forma com vba no excel?
Tentei criar a macro da seguinte forma, mas ainda não consegui o objetivo:
Sub TESTE_contagem()
Dim xrng As Range
Set xrng = Sheets("Planilha5").Range("D2")
Dim maxincio As Range
Set maxinicio = Sheets("Planilha5").Range("A4")
Application.ScreenUpdating = False
On Error GoTo Aviso
linha = 5
coluna = 0
Do Until Cells(linha, 2).Value = ""
If Cells(linha, 2).Value <> xrng.Value Then
Cells(linha, 1).Value = ""
ElseIf Cells(linha, 2).Value = xrng.Value Then
Cells(linha, 1).Value = Application.WorksheetFunction.Max(maxinicio, coluna) + 1
End If
linha = linha + 1
coluna = coluna + 1
Loop
Exit Sub
Aviso: MsgBox "digitet o númreo do convênio"
Application.ScreenUpdating = True
End Sub
Como posso usar a função MÁXIMO($A$1:A1)+1 dessa forma com vba no excel?
Tentei criar a macro da seguinte forma, mas ainda não consegui o objetivo:
Sub TESTE_contagem()
Dim xrng As Range
Set xrng = Sheets("Planilha5").Range("D2")
Dim maxincio As Range
Set maxinicio = Sheets("Planilha5").Range("A4")
Application.ScreenUpdating = False
On Error GoTo Aviso
linha = 5
coluna = 0
Do Until Cells(linha, 2).Value = ""
If Cells(linha, 2).Value <> xrng.Value Then
Cells(linha, 1).Value = ""
ElseIf Cells(linha, 2).Value = xrng.Value Then
Cells(linha, 1).Value = Application.WorksheetFunction.Max(maxinicio, coluna) + 1
End If
linha = linha + 1
coluna = coluna + 1
Loop
Exit Sub
Aviso: MsgBox "digitet o númreo do convênio"
Application.ScreenUpdating = True
End Sub
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Como usar a função MÁXIMO com vba
Nõ entendi o que pretende/espera de retorno, pois da maneira apresentada:
"...Application.WorksheetFunction.Max(maxinicio, coluna)..."
O retorno sempre será o valor maior entre o valor da celula A4 (Sheets("Planilha5").Range("A4")) e o numero atribuido a variavel coluna (1,2,3...)
"...Application.WorksheetFunction.Max(maxinicio, coluna)..."
O retorno sempre será o valor maior entre o valor da celula A4 (Sheets("Planilha5").Range("A4")) e o numero atribuido a variavel coluna (1,2,3...)
-
- Colaborador
- Mensagens: 10
- Registrado em: Sex Abr 01, 2022 11:56 am
Re: Como usar a função MÁXIMO com vba
Bom dia Reinaldo.
Envio a planilha exemplo para melhor compreensão.
Estou querendo que a macro identifique e numere sequencialmente os processos.
Não consegui anexar a pasta do Excel aqui. Grato
Silvio Felinto
Envio a planilha exemplo para melhor compreensão.
Estou querendo que a macro identifique e numere sequencialmente os processos.
Não consegui anexar a pasta do Excel aqui. Grato
Silvio Felinto
-
- Colaborador
- Mensagens: 10
- Registrado em: Sex Abr 01, 2022 11:56 am
Re: Como usar a função MÁXIMO com vba
Reinaldo,
Só para melhor entendimento da mensagem anterior.
Desejo que a macro identifique o processo pesquisado e numere sequencialmente na coluna "A".
Não é numerar todos os processos.
Muito obrigado.
Silvio Felinto
Só para melhor entendimento da mensagem anterior.
Desejo que a macro identifique o processo pesquisado e numere sequencialmente na coluna "A".
Não é numerar todos os processos.
Muito obrigado.
Silvio Felinto
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Como usar a função MÁXIMO com vba
Para mim ainda está meio confuso.
Se o objetivo e identificar/numerar sequencialmente um determinado "processo", qual o motivo das linhas 22 a 24 "assumirem" 18/19/20 e não 11/12/13 que seria a sequencia "correta"?
Se a cada "processo" a identificação/numeração iniciar de 1 e for sequencial;
experimente:
Se o objetivo e identificar/numerar sequencialmente um determinado "processo", qual o motivo das linhas 22 a 24 "assumirem" 18/19/20 e não 11/12/13 que seria a sequencia "correta"?
Se a cada "processo" a identificação/numeração iniciar de 1 e for sequencial;
experimente:
Código: Selecionar todos
Sub TESTE_contagem()
Dim xRng As Range, MaxInicio As Range
Dim lngLinha As Long, lngSeq As Long
Set xRng = Sheets("Planilha5").Range("D2")
Set MaxInicio = Sheets("Planilha5").Range("A4")
MsgBox xRng.Value
Application.ScreenUpdating = False
On Error GoTo Aviso
lngLinha = 5
lngSeq = 1
If xRng.Value = "" Then GoTo Aviso
Do Until Cells(lngLinha, 2).Value = ""
If Cells(lngLinha, 2).Value = xRng.Value Then
Cells(lngLinha, 1).Value = lngSeq
lngSeq = lngSeq + 1
End If
lngLinha = lngLinha + 1
Loop
Exit Sub
Aviso: MsgBox "digite o número do convênio"
Application.ScreenUpdating = True
End Sub
-
- Colaborador
- Mensagens: 10
- Registrado em: Sex Abr 01, 2022 11:56 am
-
- Colaborador
- Mensagens: 10
- Registrado em: Sex Abr 01, 2022 11:56 am