Página 1 de 1

Bloqueio de células vinculado à data atual

Enviado: 20 Jun 2022 às 14:38
por alexlounofre
Olá,

Tenho uma planilha onde constam os seguintes dados:

células A1 a L1 - os meses do ano, no formato personalizado de data "mmmm", ou seja: janeiro (01/01/2022), fevereiro (01/02/2022), etc...

células A2 a L2 - valores monetários de vendas em cada mês

Preciso de ajuda para construir um comando VBA que faça o seguinte: ao abrir a planilha, bloquear as células no intervalo A2 a L2 que sejam referentes a meses posteriores ao atual. Ex: se o mês atual é janeiro, quero bloquear as células de valores monetários referentes aos meses de fevereiro em diante (B2 a L2). se o mês atual é junho, quero bloquear as células referentes aos meses de julho em diante (G2 a L2).

Alguém poderia me ajudar nessa demanda por favor?

Desde já agradeço imensamente

Re: Bloqueio de células vinculado à data atual

Enviado: 20 Jun 2022 às 15:07
por osvaldomp
Olá, @alexlounofre .

Experimente:
Código: Selecionar todos
Private Sub Workbook_Open()
 If Month(Date) = 12 Then Exit Sub
 With Sheets("Planilha1")
  .Unprotect
  .[A2:L2].Locked = False
  .Cells(2, Month(Date) + 1).Resize(, 12 - Month(Date)).Locked = True
  .Protect
 End With
End Sub

Re: Bloqueio de células vinculado à data atual

Enviado: 20 Jun 2022 às 17:20
por alexlounofre
Olá osvaldo,
Maravilha, funcionou certinho. Muito obrigado!

Só mais uma dúvida: como faria pra bloquear 2 linhas ou mais, por exemplo: A2 a L6? Tenho que repetir o mesmo código linha por linha ou dá pra complementar o código?

Re: Bloqueio de células vinculado à data atual

Enviado: 20 Jun 2022 às 17:58
por osvaldomp
Olá, @alexlounofre .

Os parâmetros da propriedade Resize são Lin e Col ~~~> Resize(Lin,Col).

Da forma que eu sugeri, o parâmetro Lin foi omitido, e nessa situação ele equivale a 1, ou seja, Rezise( , ...) equivale a Resize(1, ...) que é a própria linha referida em Cells(2, ...) que é a linha 2.

Então, para estender o bloqueio para a linha 3 coloque ~~~> Resize(2, ...)

E para estender o bloqueio até a linha 6 ~~~> Resize(5, ...)

Re: Bloqueio de células vinculado à data atual

Enviado: 20 Jun 2022 às 20:13
por alexlounofre
Entendido, meu nobre. Muitíssimo obrigado mais uma vez! Me ajudou demais.

Tudo de bom pra você!