Ir ao conteúdo
  • Cadastre-se

Midori

Membros Plenos
  • Total de itens

    949
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

307

3 Seguidores

Informações gerais

  • Cidade e Estado
    São Paulo, SP
  • Sexo
    Prefiro não dizer
  1. Sub Macro() Dim C As String Dim R As Range Set R = Range("A2") For I = 1 To 12 Step 3 C = C & R.Offset(0, I - 1) & ";" & _ R.Offset(0, I) & ";" & _ R.Offset(0, I + 1) & ";" & _ "PADRÃO1;PADRÃO2;PADRÃO3" & vbCrLf Next I MsgBox C End Sub
  2. @Luciana Goes O método de busca continua o mesmo, Você só tem que usar outra função para adicionar a imagem, assim. Sub INSERE_IMAGEM() Dim profile As String On Error GoTo 0 Dim fd As FileDialog Dim myCel As Range Set myCel = ActiveSheet.Range("b2:d2") ' AQUI: Altere a cel. desejada Set fd = Application.FileDialog(msoFileDialogFilePicker) Range("B2:D2").Select Selection.ClearContents For Each img In ActiveSheet.Shapes If Not Application.Intersect(img.TopLeftCell, ActiveSheet.Range("B2:D2")) Is Nothing Then img.Delete End If Next With fd .Filters.Clear .Filters.Add "Picture Files", "*.jpg" .ButtonName = "Select" .AllowMultiSelect = False .Title = "Choose Photo" .InitialView = msoFileDialogViewDetails .Show End With ActiveSheet.Range("b2:d2").Select On Error Resume Next ActiveSheet.Shapes.AddPicture fd.SelectedItems(1), _ msoFalse, msoTrue, myCel.Left, myCel.Top, myCel.Width, myCel.Height Range("C5").Select End Sub
  3. @Luciana Goes Em vez de Pictures.Insert você pode usar Shapes.AddPicture e atribuir msoTrue em SaveWithDocument
  4. Já fiz uma macro com essa função. Este é o bloco onde basicamente faço o incremento na parte do nome do arquivo entre parênteses. R = StrReverse(A) N = StrReverse(Mid(R, InStr(R, "(") + 1, Len(R))) R = StrReverse(Mid(R, InStr(R, ")") + 1, InStr(R, "(") - 2)) If IsNumeric(R) Then While Fso.FileExists(P & N & "(" & R & ")." & E) R = R + 1 Wend Nome = N & "(" & R & ")." & E End If Obs: Variável "A" é o nome do arquivo sem extensão, "P" é a pasta e "E" a extensão.
  5. @antoniofmoura Agora vi que a macro pode apresentar erro se a planilha Requerimento tiver apenas os títulos. Para evitar isso faça esta alteração no código, substituindo a linha da atribuição de L por essas, If Plan.Range("A2") = "" Then L = 2 Else L = Plan.Range("A:A").End(xlDown).Row + 1 End If
  6. @antoniofmoura A macro pega o range H2:H12, quando houver mais linhas é fácil editar para implementar uma forma de pegar até a última linha. Quando testei e comparei com os dados anteriores do requerimento só deu diferença no total da LIDIA, talvez seja de algum dado que você não tinha copiado antes. Sub Macro() Dim R As Range Dim C, L As Integer Dim Plan As Worksheet Set Plan = ThisWorkbook.Worksheets("REQUERIMENTO ") With ThisWorkbook.Worksheets("CONSIGNADO") For Each R In .Range("H2:H12") For C = 27 To 83 Step 7 If .Cells(R.Row, C) <> "" Then L = Plan.Range("A:A").End(xlDown).Row + 1 R.Offset(0, 0).Copy Plan.Cells(L, 1) R.Offset(0, 1).Copy Plan.Cells(L, 2) .Cells(R.Row, C - 1).Resize(1, 7).Copy Plan.Cells(L, 3) End If Next C Next R End With End Sub
  7. @antoniofmoura Sim e na linha requerimento tem 6 linhas dessa pessoa. Por isso perguntei se a quantidade de contratos determina o número de linhas/registros de cada pessoa. A planilha consignado tem várias colunas.
  8. @antoniofmoura O que determina o número de linhas de cada nome é a quantidade de contratos?
  9. Com tabela dinâmica ficaria fácil consultar
  10. No For da Sub SomarItens coloque para iniciar em 1, For i = 1 To Linhas Assim a soma será calculada corretamente. E no ListviewClik, você pode fazer algo assim para não ficar carregando a cada clique, Private Sub ListView1_Click() Static B As Boolean If B = False Then CarItens B = True Call SomarItens End Sub
  11. Tente ActiveSheet.Pictures.Insert "\\localdoarquivo\IMG\22.png" Este comando já adiciona a imagem na célula selecionada.
  12. @Luis Geraldo Você pode colocar um IF antes do msgbox assim, If T <> "" Then MsgBox T
  13. @Luis Geraldo Você pode criar um loop para mostrar a mensagem em cada caso ou mostrar tudo no final em uma única mensagem assim p.ex, Dim R As Range Dim T As String For Each R In Range("M2:M260") If R = "Verificar Nfe" Then T = T & "Verificar preenchimento da célula " & R.Address & vbCrLf End If Next R MsgBox T O problema desse método é que se houver muitas linhas vai chegar no limite, aí nesse caso você pode mostrar uma mensagem padrão para muitos casos ou usar formulário.
  14. @DaviCN Para contar as linhas selecionadas pode ser assim, Dim C, I As Integer For I = 0 To lst_menu.ListCount - 1 If lst_menu.Selected(I) Then C = C + 1 End If Next I MsgBox C
  15. @DaviCN Para contar as linhas selecionadas use a propriedade Selected em um loop dos índices, If ListBox1.Selected(I) Then C = C + 1 End If Sobre as modificações, se o listbox é carregado com dados da planilha você pode criar um loop para comparar as células com os dados dele.

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

×
×
  • Criar novo...

 

javaweb-popup.jpg

CURSO ONLINE DE PROGRAMAÇÃO
FULL STACK

Entre para o mercado que paga mais de R$ 12.000 por mês e não tem crise!

CLIQUE AQUI E INSCREVA-SE AGORA MESMO!