Ir ao conteúdo
  • Cadastre-se

Narciso Felizardo

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Olá colegas, estou elaborando uma planilha que funciona da seguinte maneira: Os colaboradores tiram fotos de ANTES e DEPOIS de situaçoes anormais no local de trabalho, depois pegamos essas imagens e para cada ANTES e DEPOIS fazemos um ''INFORME'', imagine que o colaborador tenha tirado 100 fotos , então serão 50 informes, porém o trabalho se torna repetitivo. O que eu gostaria é de selecionar todas as 100 fotos de uma vez só, redimensionar e compactar (já foi feito), depois criar as 50 planilhas (já foi feito) e por último, que é o meu problema... pegas essas 100 imagens ou x imagens e recortar e colar nas 50 planilhas ou x planilhas geradas de forma sequencial. Ou seja : pegas as 2 primeiras imagens recortar e colar na aba seguinte, depois as 2 imagens posteriores recortar e colar na aba seguinte, e assim por diante. segue o código usado até agora: Sub copiarpastas() Dim k As Long k = ThisWorkbook.Sheets.Count Dim Pict Dim ImgFileFormat As String Dim Celula As String Celula = "C21" ' celula que será inserido a imagem ImgFileFormat = "Image Files JPG (*.jpg),*.jpg,Image Files JPEG (*.jpeg),*.jpeg, Image Files PNG (*.png),*.jpg, Image Files GIF (*.gif),*.gif, Image Files BMP (*.bmp),*.bmp" 'Pict = Application.GetOpenFilename(ImgFileFormat, False, False, MultiSelect:=True) Pict = Application.GetOpenFilename(ImgFileFormat, False, False, False, True) 'If Pict = False Then End If IsArray(Pict) Then 'IF ARRAY If UBound(Pict) <= 50 Then 'IF I 'copiar as pastas n vezes Dim x As Integer x = UBound(Pict) / 2 For numtimes = 1 To x 'Loop by using x as the index number to make x number copies. 'Replace "Sheet1" with the name of the sheet to be copied. ActiveWorkbook.Sheets(" ").Copy _ After:=ActiveWorkbook.Sheets(" ") Sheets(" ").Select Next For i = LBound(Pict) To UBound(Pict) 'FOR I Select Case i 'Cobertura de 50 imagens Case 1 To 50 'IMAGEM: largura = 4 colunas; altura= 11 linhas Application.ActiveSheet.Shapes.AddPicture Pict(i), False, True, Range(Celula).Left, _ Range(Celula).Top, Range(Celula).Width + 298, Range(Celula).Height * 1 End Select Next i 'FOR I Else 'IF I MsgBox "Selecionar no máximo 50 imagens" End End If 'IF I End If 'IF ARRAY 'If Pict = False Then End 'Application.ActiveSheet.Shapes.AddPicture Pict, False, True, Range(Celula).Left, _ 'Range(Celula).Top, Range(Celula).Width * 4, Range(Celula).Height * 11 'IMAGEM: largura = 30 colunas; altura= 13 linhas End Sub estou disponibilizando a planilha também Anticontaminação_2019_OUT_NARCISO(001-130).rar

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...