Ir ao conteúdo
  • Cadastre-se

Márcio Rodrigues

Membro Pleno
  • Posts

    537
  • Cadastrado em

  • Última visita

posts postados por Márcio Rodrigues

  1. Olá Miguelriedel,

     

    você pode usar algo assim:

     

    Private Sub CommandButton1_Click()
        
        UserForm1.ListBox1.ColumnCount = 3
        
        For i = 0 To ListBox2.ListCount - 1
        
             With UserForm1.ListBox1
        
                .AddItem
                .List(.ListCount - 1, 0) = ListBox2.List(i, 0)
                .List(.ListCount - 1, 1) = ListBox2.List(i, 1)
                .List(.ListCount - 1, 2) = ListBox2.List(i, 2)
            
            End With
        
        Next i
        
        UserForm1.Show
        
    End Sub

     

    Veja se é por aí!!!!

    transferir dados entre listbox v2.rar

    • Curtir 1
  2. Olá Caio Rodrigues Almeida

     

    Altere seu código como abaixo e teste:

     

     

    On Error GoTo 0   'a partir daqui 

      'fonte: https://funcaoexcel.com.br/remover-vinculos/

       Dim myLinks As Variant
       myLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)

       For i = 1 To UBound(myLinks)
                    ActiveWorkbook.BreakLink Name:=myLinks(i), Type:=xlLinkTypeExcelLinks
        Next i

     

    'ate aqui

    WB.SaveAs FileName:=ThisWorkbook.Path & "\" & FileName

     

    veja se é por aí...

    • Curtir 1
  3. Olá Jefferson TS

     

    Altere esta parte do código e veja se resolve:

    Dim PLAN As String
    PLAN = UserForm1.ComboBox1.Text

    'fonte https://docs.microsoft.com/pt-br/office/vba/api/excel.range.find

    dia = CDate(UserForm1.TextBox8.Text) 'formatar para data
    Worksheets(PLAN).Activate

    'linha = Cells.Find(dia).Row
    '
    'ActiveSheet.Cells(linha, 7) = UserForm1.TextBox1.Text
    'ActiveSheet.Cells(linha, 8) = UserForm1.TextBox2.Text
    'ActiveSheet.Cells(linha, 9) = UserForm1.TextBox3.Text
    'ActiveSheet.Cells(linha, 10) = UserForm1.TextBox4.Text
    'ActiveSheet.Cells(linha, 11) = UserForm1.TextBox5.Text
    'ActiveSheet.Cells(linha, 12) = UserForm1.TextBox6.Text

    Dim rgn As Range
        
        With Worksheets(PLAN).Range("G:G")
            
            Set rgn = .Find(dia, LookIn:=xlValues)
            
            If Not rgn Is Nothing Then
                
                linha = rgn.Row
                
                Do
                    
                    ActiveSheet.Cells(linha, 7) = UserForm1.TextBox1.Text
                    ActiveSheet.Cells(linha, 8) = UserForm1.TextBox2.Text
                    ActiveSheet.Cells(linha, 9) = UserForm1.TextBox3.Text
                    ActiveSheet.Cells(linha, 10) = UserForm1.TextBox4.Text
                    ActiveSheet.Cells(linha, 11) = UserForm1.TextBox5.Text
                    ActiveSheet.Cells(linha, 12) = UserForm1.TextBox6.Text
                    
                    Set rgn = .FindNext(rgn)
                
                Loop While Not rgn Is Nothing
            
            End If
        
        End With

     

    If CheckBox1.Value = True Then
    ActiveSheet.Cells(linha, 6) = "X"
    End If

     

    Veja se é por aí......

    • Curtir 2
  4. Olá luis_uardo

     

    Em 25/07/2018 às 14:43, luis_uardo disse:

    A planilha classifica todos os dados por data, então se alimentá-la hoje(01) com os dados de dois dias a frente (03) e, calhar de, no dia seguinte (02), precisar preenchê-la com os dados de amanhã (03), a transferência irá duplicar os ultimos dados da planilha (exemplo do dia 7 anexado). Para isso, acredito que uma formatação condicional deva resolver (porém não tive muito êxito com meu teste). 

    Isto não acontece aqui, quando lido o registro na planilha AGENDAMENTOS a macro insere na coluna L a palavra "transf.", assim este registro não é lido novamente.

     

    Em 25/07/2018 às 14:43, luis_uardo disse:

    A data da planilha "AGENDAMENTOS" poderia ser transferida para a célula "A2" de todas as planilhas e, junto a isso, que somente os dados da data atual sejam enviados para a planilha "1"? 

    Pois dessa forma, só usaríamos uma única planilha para todos os dados, tendo em vista que esta é um formulário.

    Não entendi isto, mande um exemplo explicando.

     

    Em 25/07/2018 às 14:43, luis_uardo disse:

    A última é, aparentemente, simples. Toda vez que abro a planilha e preencho o formulário no campo "Data" ou "Horário", o num lock é desativado

    Vou verificar.

     

    Té +

    Márcio

    image.png

    • Curtir 1
  5. Olá Vinicius Passsos

     

    Não entendi muito bem o seu problema.

    Caso seja transformar cores em HEXADECIMAL para RGB tente isro:

     

    'consultado Rodrigo Ferreira no site https://www.funcaoexcel.com.br/obter-codigo-rgb-de-uma-cor/

    Sub CorRGB()
     
     yourColor = &H8000000F
     
     R = yourColor And 255
     
     G = yourColor \ 256 And 255
     
     B = yourColor \ 256 ^ 2 And 255

     

    End Sub
     

    Veja se é por aí...

     

    Té +

    Márcio

  6. Olá

     

    Cole logo abaixo do:

    Private Sub cboEmpresas_Change()

      TextBox4 = ActiveCell.Formula = _
      "=VLOOKUP(Cadastro_Empresas[Empresa],C[-7]:C[-3],2,FALSE)"

        
    End Sub

    isto:

     

    'consultado Pedro Martins em http://www.sigaonerd.com/2016/11/vba-artigo-022-efetuando-pesquisas-com.html

    Private Sub cboEmpresas_Click()
                    
        Dim rngRange As Range
        Dim searchCompany As String
        Dim rngRangeResult As Range
        Dim lRow As Long
        
        Set rngRange = Range("a1:a" & Rows.Count)
                
        searchCompany = cboEmpresas.List(cboEmpresas.ListIndex, 0)
        
        Set rngRangeResult = rngRange.Find(searchCompany, LookIn:=xlFormulas, LookAt:=xlWhole, _
            SearchOrder:=xlByColumns)
            
            If Not rngRangeResult Is Nothing Then
            
                lRow = rngRangeResult.Row
            
                TextBox4.Text = Cells(lRow, 3).Value
            
            End If
        
    End Sub

     

    Pode apagar o código Private Sub cboEmpresas_Click()

     

    Veja se é por aí...

     

    Té +

    Márcio

    • Curtir 1

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!