Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Ingo M P Américo

Clicar na imagem e selecionar célula ao lado

Recommended Posts

Mais uma perguntinha simples para os ninjas de plantão:

Como eu faço para clicar no smile e selecionar a célula imediatamente ao seu lado?

 

image.png.1f2ed0d64c950dff8323b6a0855d6f3a.png

 

Tentei o VBA abaixo e não deu certo.

Sub selectCelula()
  ActiveSheet.Shapes(Application.Caller).Offset(0, -1).Select
End Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atribua sua imagem a esta macro: 

Segue um exemplo de acordo com a imagem que voce postou: 

Sub TesteSelCelImg()
Dim shp As Shape
  
  For Each shp In ActiveSheet.Shapes
     If shp.Name = "Picture 1" Then ' Altere nome da sua imagem
        ActiveSheet.Cells(shp.BottomRightCell.Row, shp.BottomRightCell.Column - 1).Activate
     End If
  Next

End Sub

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • @Basole Funcionou parcialmente.

     

    Passo anexa, a planilha para testes.

     

    Estou usando esse VBA que você passou associado com o Date Picker.

    Quando adiciono uma data pelo Date Picker em uma célula a esquerda do ícone do calendário e tento fazer a mesma coisa em outra célula, a seleção vai para célula onde foi inserida a primeira célula.

     

    Sei que ficou meu confuso, mas quando você abrir a planilha, vai entender.

    data com Date Picker.zip

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

     

    Pra mim não ficou claro. No seu 2º post voce acrescentou elementos que não estavam presentes na 1ª duvida.

    voce enviou em anexo somente o suplemento calendario. 

    Exemplifique o que deseja, se necessário utilize imagens para ajudar melhor a entender o que quer fazer.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Oi @Basole . Desculpe se a questão ficou turva.

    Também não percebi que havia enviado apenas o suplemento. Estou mandando o arquivo completo agora, com a planilha que está dando problema. Acredito que a planilha é auto explicativa.

     

    data com Date Picker.zip

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Ok eu acabei utlizando a função Application.Caller para este caso:

    Ao clicar na imagem (calendario_x), a celula da mesma linha e a esquerda é selecionada e o date picker é aberto

    Se voce tiver muitas celulas para inseri datas com o date picker, acho que é mais pratico utilizar o evento Double_click da aba, ou seja ao clicar duas vezes na celula para abir o date picker. 

     

    image.png.702130347571588ce3ce9647a5aac0a9.png

    inserir data.zip

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @Basole ,

     

    Não sei se tem a ver, mas de repente minha planilha começou a apresentar o erro abaixo.

    Pelo que pesquisei, tem a ver com objetos sendo criados em tempo de execução.

     

    image.thumb.png.6179166cc95866ec75ea85f13618cb6e.png

     

    Na hora de debugar, a linha abaixo é selecionada, mas ela sempre existiu e nunca deu erro.

     

    image.thumb.png.f958118fc8832b55a846cdf29ac2acd6.png

     

    Alguma ideia?

     

     

    image.png

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Acho que encontrei a causa do problema: 

    Quando insiro uma nova linha com a mesma imagem do calendário, a  imagem fica com o mesmo nome de outra que já existia anteriormente e e aí dá pau no Excel, pois ficam duas imagens com mesmo nome na mesma planilha.

     

    Alguma ideia de como resolver isso?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Depois que copiar e colar todas as  imagens rode esta macro para renomear todas as imagens que tiverem como 'calendario..'

    Sub RenomearImagens()
        Dim shp As Shape
        Dim i   As Integer
      
        i = 1
        For Each shp In ActiveSheet.Shapes
            If VBA.Left(shp.Name, 10) = "calendario" Then
                shp.Name = "calendario_" & i
                 i = i + 1
            End If
        Next
    
    End Sub

     

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @Basole , 

     

    Obrigado pela resposta!

    Prometo que, assim que possível, eu vou fazer VBA com loop infinito só para lhe agradecer. :)

     

    Inseri o código da mudança de nome das imagens que você passou e continuou dando o mesmo erro, então modifiquei a forma como as linhas estavam sendo inseridas. 

    Estava assim:

     

        Sheets("copiCola").Select
        Range("copiSaida").Select
        Selection.Copy
        Sheets("SAÍDAS").Select
        Range("B12:I12").Select
        Selection.Insert Shift:=xlDown 
        Range("C12").Select

     

    E agora ficou assim:

     

    Range("B12:L12").Select
    Selection.Insert Shift:=xlDown
    Worksheets("copiCola").Range("copiSaida").Copy _
    Destination:=Worksheets("SAÍDAS").Range("B12:I12")
    Range("C12").Select

     

    Aparentemente isso corrigiu o problema.

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×