none
Formulário com imagem RRS feed

  • Pergunta

  • Bom dia!

    Pessoal, estou com dificuldades para carregar imagens num formulário que estou fazendo. Eu quero digitar um código numa caixa de texto e, com base nesse código, o formulário carregar a imagem automaticamente; mas, não está dando certo. O Excel que estou utilizando é o 2013.

    Segue o código:

                                            

    Private Sub cdCodigo_Change()

        Dim imagem

        ultimaLinha = Plan1.Cells(Plan1.Cells.Rows.Count, "a").End(xlUp).Row

        Set endereco = Range("i1")

        For i = 2 To ultimaLinha
        If Cells(i, 1) = CDbl(cdCodigo) Then
            cdNome = Cells(i, 2)
            cdDescricao = Cells(i, 3)
            imagem = endereco & Cells(i, 4)
                Set imFoto.Picture = LoadPicture(imagem)
                imFoto.PictureSizeMode = fmPictureSizeModeZoom


        End If

    Next

    End Sub

    segunda-feira, 13 de novembro de 2017 12:58

Respostas

Todas as Respostas

  • Private Sub cdCodigo_Change() Dim imagem AS STRING

    DIM ENDERECO AS STRING ultimaLinha = Plan1.Cells(Plan1.Cells.Rows.Count, "a").End(xlUp).Row endereco = Range("i1") For i = 2 To ultimaLinha If cdbl(Cells(i, 1)) = CDbl(cdCodigo) Then cdNome = Cells(i, 2) cdDescricao = Cells(i, 3) imagem = endereco & Cells(i, 4) imFoto.Picture = LoadPicture(imagem) imFoto.PictureSizeMode = fmPictureSizeModeZoom exit sub End If Next End Sub



    Anderson Diniz diniabr2011@gmail.com



    • Sugerido como Resposta AndersonFDiniz2 segunda-feira, 13 de novembro de 2017 13:16
    • Editado AndersonFDiniz2 segunda-feira, 13 de novembro de 2017 18:53
    segunda-feira, 13 de novembro de 2017 13:16
  • Boa tarde, Diniz!

    Fiz as alterações que você me orientou. Mas não está dando certo.

    O código abaixo aparece com uma tarja amarela. Quando coloco o cursor sobre o código, aparece a seguinte expressão: "imFoto.Picture = Nothing"; como se não estivesse encontrando o arquivo da imagem.

    imFoto.Picture = LoadPicture(imagem)

    Muito obrigado!

    segunda-feira, 13 de novembro de 2017 17:04
  • Diniz, vou encaminhar a planilha por e-mail... é só um projeto piloto, para eu estabelecer o código,

    e depois sim ir para a planilha propriamente dita.

    segunda-feira, 13 de novembro de 2017 17:35

  • Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 segunda-feira, 13 de novembro de 2017 18:57
    segunda-feira, 13 de novembro de 2017 18:56

  • Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 segunda-feira, 13 de novembro de 2017 18:57
    segunda-feira, 13 de novembro de 2017 18:56

  • Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 segunda-feira, 13 de novembro de 2017 18:57
    segunda-feira, 13 de novembro de 2017 18:57
  • Anderson, será que é alguma configuração do excel relacionada aos endereços ou referências; pois, o meu PC foi formatado há poucos dias.

    Já tentei de tudo aqui na minha máquina e não dá certo.

    • Sugerido como Resposta AndersonFDiniz2 segunda-feira, 13 de novembro de 2017 22:55
    • Não Sugerido como Resposta AndersonFDiniz2 segunda-feira, 13 de novembro de 2017 22:55
    segunda-feira, 13 de novembro de 2017 19:38
  • Só tentando em outra máquina

    Anderson Diniz diniabr2011@gmail.com

    segunda-feira, 13 de novembro de 2017 22:56
  • Bom dia, Anderson!

    Consegui resolver o problema. Minha máquina estava configurada para ocultar a extensão do arquivo. Com isso, eu acabava digitando em duplicidade a extensão e, por esse motivo, o Excel não encontrava o arquivo em questão.

    Contudo, preciso de sua ajuda numa outra situação: nesse código vba que estou utilizando, quando dou um "backspace" ou um "Delete" na caixa de texto do formulário, apagando com isso o valor que estava lá, o Excel também apresenta erro. Como faço para esse código vba reconhecer quando a caixa de texto fica "vazia"?

    Desde já, sou muito grato!

    terça-feira, 14 de novembro de 2017 13:31
  • ESCREVA NO INÍCIO DO PROCEDIMENTO:

    ON ERROR RESUME NEXT


    Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 terça-feira, 14 de novembro de 2017 15:56
    terça-feira, 14 de novembro de 2017 15:56
  • Obrigado, Anderson!

    Deu certo!

    Valeu!

    terça-feira, 14 de novembro de 2017 17:16
  • FAVOR MARCAR COMO RESPONDIDO

    Anderson Diniz diniabr2011@gmail.com

    • Marcado como Resposta Vejabem terça-feira, 14 de novembro de 2017 19:16
    terça-feira, 14 de novembro de 2017 17:19