locked
Objeto Calendar RRS feed

  • Pergunta

  • Amigos estou trabalhando com uma planilha do excel onde o forte é a inserção de datas, então com um pouco de preguiça do cliente ele quer que eu bole um sistema de calendário onde o usuário não tem que digitar a data em células determinadas. Encontrei um código com um amigo meu, vejam:

     

    Private Sub Calendar1_DblClick()
        ActiveCell.NumberFormat = "m/d/yyyy"
        ActiveCell = Calendar1
    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Address = "$C$20" Then
                Calendar1.Left = Target.Left + Target.Width - Calendar1.Width
                Calendar1.Top = Target.Top + Target.Height
                Calendar1.Visible = True
             Else: Calendar1.Visible = False
        End If
    End Sub

    Porém, nesse código o calendário só aparece quando eu clico sobre a célula C20, então como não sou nenhum pouco experiênte ainda com o Excel, ainda mais com o Visual Basic, gostaria de saber como eu poderia fazer para que o código também funcione nas células C21,C22,C32 e D32.

     

    Abraços
    Daniel Leite
    danieldellove@hotmail.com

    quinta-feira, 19 de outubro de 2006 14:43

Todas as Respostas

  • Olá,

    Faça, por favor, a seguinte alteração em seu código:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If ((Target.Address = "$C$20") Or _
          (Target.Address = "$C$21") Or _
          (Target.Address = "$C$22") Or _
          (Target.Address = "$C$32") Or _
          (Target.Address = "$D$32")) Then
              Calendar1.Left = Target.Left + Target.Width - Calendar1.Width
              Calendar1.Top = Target.Top + Target.Height
              Calendar1.Visible = True
      Else '<----- Observe que tirei os dois pontos daqui
             Calendar1.Visible = False
      End If
    End Sub
    

    P.S.: O exemplo acima supõe que o código com o calendário esteja funcionando adequadamente e que só o que você precisa é ampliá-lo para abranger o novo intervalo

    Atenciosamente,

    quinta-feira, 19 de outubro de 2006 15:06