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.
  • Avatar do usuário
#3242
Boa noite

Atualmente, possuo um calendário em userform que utilizo para entregar determinado mês e ano para determinada macro:
Imagem

Adaptei esse calendário para os propósitos necessários e necessito apenas da caixa de seleção de mês e ano (o dia sempre como 1), e que ele me entregue essa data para a macro, oque acontece normalmente hoje:
Imagem

O problema é que esse calendário não funciona em todos os computadores, parece que é algum problema de não ter o calendario nas versões posteriores a 2010.. Gostaria de uma sugestão para substitui-lo e que funcione em todas as versões do Excel.
Imagem

Segue também a referencia do calendário, o calendar control
Imagem

Agradeço desde já,
#3263
Bom dia!!

Eu não sei se percebi direito, mas os problemas será apenas a referência das instalações em será usado o calendário.

Se o calendário deve ser usado, te garanto que não haverá como evitar o uso de VBA (a não ser que você queira fazer um calendário na célula do excel via formula).

Att
#3725
Matheus, não tenho nada contra de se utilizar de mais de um forum para conseguir soluções mais rápida, mas lembre-se de atualizar todos quando da resposta positiva em um deles.

Esta questão foi resolvida no Forum : http://www.planilhando.com.br/forum/vie ... 10&t=17378 com a seguinte sugestão :
Infelizmente algumas atualizações das versões do excel regrediram, pelo menos no quesito complementos, mas se quer somente o MES e ANO e que o dia seja sempre o dia primeiro, e observando em sua imagem ve-se que tem os dois combos (MES e ANO) porque utilizar o Calendar, carregue os combos com os meses e anos e defina uma variavel com o dia = a 1 e monte a data completa no resultado.

Supondo que seus combos tenham os seguintes nomes :
cbo_meses e cbo_Anos, no Evento Initialize do formulário coloque a rotina abaixo :
Código: Selecionar todos
 Private Sub UserForm_Initialize()
        Dim k As Byte
        Dim x
        Dim sMes
        Dim sAno

        sMes = Month(Date) - 1
        sAno = Year(Date)

        For k = 1 To 12
            cbo_meses.AddItem MonthName(k)
        Next k
        cbo_meses.ListIndex = sMes
       
        For x = 2015 To 2020
            cbo_Anos.AddItem (x)
        Next x
       cbo_Anos.Value = sAno

    End Sub
Como não indicou como faz para obter o retorno, coloque a rotina abaixo em novo botão ou o que você utiliza, só ajuste o nome do botão :
Código: Selecionar todos
    Private Sub CommandButton1_Click()
        Dim data_completa As Date
        Dim sDia, vMes, vAno

        sDia = 1
        vMes = cbo_meses.Value
        vAno = cbo_Anos.Value

        data_completa = sDia & "/" & vMes & "/" & vAno

        MsgBox data_completa
       
    End Sub
[]s
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