Ir ao conteúdo
  • Cadastre-se

MateusAC3

Membro Júnior
  • Posts

    16
  • Cadastrado em

  • Última visita

Reputação

4
  1. Boa noite, muito obrigado a todos pela ajuda, funcionou perfeitamente Realmente, cometi um erro ali, acho que é bem por isso que essa macro vai ser muito útil, pra evitar esse tipo de erro. Não tem problema, a ordem alfabética da penúltima letra só é importante pros códigos do começo da célula. Obrigado!
  2. Boa noite, anexei outra planilha, agora com o formato mais parecido com o projeto original e com todas as possibilidades, incluindo os resultados desejados. Obrigado Pasta1.xlsx
  3. Desculpe por não agir de acordo com as regras de etiqueta e do forum, agradeço imensamente pela ajuda que eu recebi e na mensagem anterior não tive intenção nenhuma de reclamar ou criticar, apenas apresentei uma questão da qual eu não havia previsto antes, só que eu não soube repassar da maneira correta, sou péssimo de comunicação e não tenho muita experiência em forum, perdão mesmo, vou tentar não repetir esses erros que eu cometi. Hoje de tardezinha eu posto a planilha com essa opção representada Obrigado
  4. Tem um erro acontecendo: caso aconteça de ter apenas 1 locação na célula, teoricamente teria q ser dispensado todo esse processo nela
  5. Retire o q eu disse kkk, não deu certo, preciso da macro infelizmente
  6. Poderiam cancelar esse tópico por favor? Achei uma alternativa mais fácil sem precisar da macro
  7. Boa noite, anexei 2 tabelas de exemplo onde eu gostaria de organizar através de macro as "LOCAÇÕES" da coluna "B" seguindo alguns critérios: * As iniciais "AL...", "DCA...", "DCS...", "SPA...", "RAC..." e "BPOINT" são prefixos ou palavras que não variam - Locações repetidas dentro da mesma célula deverão ser unificadas (ou apagada a duplicata) - Locações que iniciam com "9" seguido de vários números deverão ser apagadas - No final se sobrar "/" deverá ser apagada - Caso estejam presentes, as locações que deverão ser movidas para o final da célula serão essas na respectiva ordem: BPOINT (último) ALQ... (penúltimo) ALT... (antepenúltimo) RAC... (pré-antepenúltimo) SPA... (antes do pré-antepenúltimo) - O restante das locações deverá ser movido para o começo da célula, em ordem alfabética de acordo com a penúltima letra Ex.: Desorganizadas: BPOINT/ALF01F1/ALH02D1/BPOINT/ALQ12A1/ALH02D1/ SPA05B/BPOINT/DCA036C1/DCA036A2/DCA036E1/ALQ12E1/ALT27D3 Organizadas: ALH02D1/ALF01F1/ALQ12A1/BPOINT DCA036A2/DCA036C1/DCA036E1/SPA05B/ALT27D3/ALQ12E1/BPOINT (Eu pintei as letras apenas pra melhor visualização dos critérios aplicados) Agradeço muito desde já quem puder me ajudar nesse desafio. Pasta1.xlsx
  8. Private Sub CommandButton1_Click() Dim Sh As Worksheet Dim i As Long If txtQtd = "" Then txtQtd.SetFocus Else Set Sh = Worksheets("Teste") i = 4 Qtd = txtQtd listTempo.Clear With Me.listTempo Do Until Sh.Cells(i, 4).Value = "" If Not Sh.Cells(i, 4).EntireRow.Hidden Then .AddItem Sh.Cells(i, 3).Value .List(.ListCount - 1, 1) = Sh.Cells(i, 4).Value .List(.ListCount - 1, 2) = Sh.Cells(i, 5).Value .List(.ListCount - 1, 3) = Sh.Cells(i, 6).Value .List(.ListCount - 1, 4) = Sh.Cells(i, 7).Value .List(.ListCount - 1, 5) = Qtd End If i = i + 1 Loop End With End If End Sub É verdade, compliquei à toa
  9. Private Sub CommandButton1_Click() Dim Sh As Worksheet Dim i As Long If txtQtd = "" Then txtQtd.SetFocus Else Set Sh = Worksheets("Teste") i = 4 Qtd = txtQtd listTempo.Clear With Me.listTempo Do Until Sh.Cells(i, 4).Value = "" If Sh.Cells(i, 4).EntireRow.Hidden Then i = i + 1 Else .AddItem Sh.Cells(i, 3).Value .List(.ListCount - 1, 1) = Sh.Cells(i, 4).Value .List(.ListCount - 1, 2) = Sh.Cells(i, 5).Value .List(.ListCount - 1, 3) = Sh.Cells(i, 6).Value .List(.ListCount - 1, 4) = Sh.Cells(i, 7).Value .List(.ListCount - 1, 5) = Qtd i = i + 1 End If Loop End With End If End Sub Deu certo, só tive q fazer uma adaptação, obrigado!
  10. Boa noite, quero listar os dados de uma tabela em uma ListBox, mas quando eu filtro a tabela ele continua mostrando tudo, mesmo os dados filtrados, como eu posso resolver isso? Private Sub CommandButton1_Click() Dim Sh As Worksheet Dim i As Long If txtQtd = "" Then txtQtd.SetFocus Else Set Sh = Worksheets("Teste") 'Primeira linha com valores (sem filtro na tabela) i = 4 Qtd = txtQtd listTempo.Clear With Me.listTempo Do Until Sh.Cells(i, 4).Value = "" .AddItem Sh.Cells(i, 3).Value .List(.ListCount - 1, 1) = Sh.Cells(i, 4).Value .List(.ListCount - 1, 2) = Sh.Cells(i, 5).Value .List(.ListCount - 1, 3) = Sh.Cells(i, 6).Value .List(.ListCount - 1, 4) = Sh.Cells(i, 7).Value .List(.ListCount - 1, 5) = Qtd i = i + 1 Loop End With End If End Sub
  11. Deu certo! Tem razão sobre a imagem, eu não tinha pensado nisso, desculpa a lerdeza minha, numa próxima eu anexo o arquivo Obrigado!
  12. Boa tarde, poderiam por favor me ajudar a preencher a coluna B (da Planilha B) através de vba? Planilha A: Planilha B (com os NÚMEROS unificados): Seria exibir a quais NOMES pertencem os NÚMEROS da Planilha B, através das informações da Planilha A, separando eles com 2 "espaços", por exemplo.
  13. Olá, pode parecer uma coisa simples, mas gostaria de saber como formatar em VBA uma planilha quando os valores nela forem diferentes, vou mostrar um exemplo prático: Eu gostaria q nessa tabela alterasse por exemplo a borda inferior da linha em que o nome muda, desse jeito: Sei que no Excel bastaria eu colocar =D2=D3 pra chegar em FALSO ou VERDADEIRO e assim filtrar e formatar como eu quisesse, mas em VBA não estou sabendo como fazer Obs.: seria uma tabela com quantidade indefinida de linhas. Se puderem me ajudar agradeço.
  14. Tenho uma TextBox para digitar valores em R$ Achei esse código na internet que funcionou muito bem para a função que eu queria, mas não está aceitando digitar números do NumPad, só aceita os números que ficam em cima das letras no teclado. Como posso consertar isso? Private Sub txtValorCP_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim zTemp As String txtValorCP.TextAlign = fmTextAlignRight If IsNumeric(Chr(KeyCode)) Or KeyCode = 8 Then If txtValorCP.Text <> "" Then zTemp = txtValorCP.Text & IIf(KeyCode <> 8, Chr(KeyCode), "") zTemp = Right(zTemp, Len(zTemp) - 2) zTemp = Replace(zTemp, ".", "") zTemp = Replace(zTemp, ",", "") If KeyCode = 8 Then If Len(zTemp) > 3 Then zTemp = Left(zTemp, Len(zTemp) - 1) Else zTemp = "0" & Left(zTemp, Len(zTemp) - 1) End If End If zTemp = Left(zTemp, Len(zTemp) - 2) & "." & Right(zTemp, 2) Else zTemp = "0.0" & IIf(KeyCode <> 8, Chr(KeyCode), "0") End If txtValorCP.Text = Format(Val(zTemp), "R$ ###,##0.00") KeyCode = 0 Else If KeyCode <> 13 And KeyCode <> 9 And KeyCode <> 40 And KeyCode <> 38 Then KeyCode = 0 End If End Sub

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!