Basole
Membros-
Total de itens
89 -
Registro em
-
Última visita
Sobre Basole
Perfil
-
Gender
Male
-
Location
Sampa
Últimos Visitantes
1.539 visualizações
Basole's Achievements
0
Reputação
-
Comando que direcione excluir linha em outra planilha
pergunta respondeu ao Albino Soares de Basole em VBA
Substitua a linha que esta apresentando erro por esta: Plan6.Range(Plan6.Cells(rng.Row, 1), Plan6.Cells(rng.Row, 42)).Delete Shift:=xlUp -
Comando que direcione excluir linha em outra planilha
pergunta respondeu ao Albino Soares de Basole em VBA
Eliminei o for e inclui o find para localizar o item a ser excluido, pois com muitos dados o com o for, a macro pode ficar lenta. Segue sugestão: Private Sub BtExcluirAud_Click() Dim rng As Range Dim confirmar As String On Erro GoTo Erro Set rng = Plan6.Columns("R").Find(Txt_Processo_Aud.Value, LookIn:=xlValues, Lookat:=xlWhole) If Not rng Is Nothing Then confirmar = MsgBox("Tem certeza que deseja EXCLUIR o Cliente: " & Me.Txt_Cliente_Aud & "?", vbYesNo, "Excluir!") If confirmar = vbNo Then MsgBox "Exclusão do Cliente: " & Me.Txt_Cliente_Aud & " CANCELADO!", vbInformation, "Exclusao cancelada!" Exit Sub Else Plan6.Range(Cells(rng.Row, 1), Cells(rng.Row, 42)).Delete Shift:=xlUp End If ActiveWorkbook.Save MsgBox "Cadastro do cliente " & Me.Txt_Cliente_Aud & " foi EXCLUIDO com sucesso!", vbInformation, "Excluído!" Else MsgBox "Processo " & Me.Txt_Cliente_Aud & "", vbCritical, "Aviso " End If Unload Audiência Exit Sub Erro: MsgBox "Erro!", vbCritical, "ERRO" End Sub -
Não é possivel "setar" uma string. Remova o "Set" Não tenho o corel para testar, mas tente referenciar como abaixo: Document.FilePath Document.FileName
-
Tem que colar o código, no módulo da respectiva planilha (Aba). Se colou em um um módulo padrão, não vai funcionar.
-
Voce pode tentar ser mais especifico relacionando um a um os numeros romanos, mantendo espaços entre eles: Exemplo de 1 a 20: RomanNumerals = " I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX" Mesmo assim o resultado não será tão eficiente, por exemplo neste trecho (Vide Lei nº 13.874, de 2019) As letras "Vi" => " VI " ficarão em negrito.
-
Complementando... Todo esse trecho do código, abaixo, é desnecessario, caso os componentes (TextBox, OptionButton, etc), tenham o mesmos nomes: Dim TXT_auditorname As MSForms.TextBox Set TXT_auditorname = Me.TXT_auditorname Dim OB_off As MSForms.OptionButton Set OB_off = Me.OB_off Dim OB_man As MSForms.OptionButton Set OB_man = Me.OB_man
-
Ouve altrações no código em relação ao topíco anterior Atual: If OB_off.Enabled And OB_man.Enabled Then With OB_off MsgBox "Selecione em qual área será cadastrado o auditor" End With End If Anterior: If OB_off = False And OB_man = False Then MsgBox "Selecione em qual área será cadastrado o auditor" Exit Sub ElseIf TXT_auditorname = "" Then MsgBox "Preencha o nome do auditor" Exit Sub End If Para verificar se um OptionButton foi clicado, mantenha esse trecho do codigo, anterior. O erro gerado, é porque dclarou as variaveis: Dim OB_off As MSForms.OptionButton Dim OB_man As MSForms.OptionButton E não "setou" * Para anexar algum a arquivo, faça upload em algum site na nuvem, como por exemplo google drive, e poste o link aqui.
-
VBA Para cadastro com error de compilação: Método ou membro de dados não encontrado
pergunta respondeu ao Yago bezerra de Basole em VBA
Altere a linha reg_auditor.Close para Unload reg_auditor -
VBA Para cadastro com error de compilação: Método ou membro de dados não encontrado
pergunta respondeu ao Yago bezerra de Basole em VBA
O que seria o objeto reg_auditor? -
VBA Para cadastro com error de compilação: Método ou membro de dados não encontrado
pergunta respondeu ao Yago bezerra de Basole em VBA
@Yago bezerraboa tarde Qual o erro apresentado? E em qual linha apresenta o erro? -
SELECIONAR ITEM EM UMA LISTA DE VALIDAÇÃO DE DADOS
pergunta respondeu ao Alex Lourenção Onofre de Basole em VBA
@Alex Lourenção Onofre Veja se é isso ... A macro atualiza a lista de validação, e associa a celula A2 a B5. Private Sub Worksheet_Change(ByVal Target As Range) If Not Excel.Application.Intersect(Target, Range("A2:A" & _ ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row)) Is Nothing Then Application.EnableEvents = False [B5].Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=$A$2:$A" & _ ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row: [B5] = [A2] End With Application.EnableEvents = True End If End Sub -
@Lucas Bredersegue com as alteracões solicitadas. Sub ExplodirLinhaParaOutrasSheets() Dim irt As Long, i As Long, wsb As Worksheet Dim strTab As String, sh As Worksheet, ShNoEx As Boolean Dim irs As Long: irs = 2 Set wsb = ActiveSheet ' define a aba BASE Do Until VBA.IsEmpty(wsb.Cells(irs, 1)) strTab = "DADOS REPLICADOS" ' Altere AQUI nome da nova ABA, desejado ShNoEx = False ' verif. se já existe a aba strTab For Each sh In ThisWorkbook.Worksheets If VBA.UCase(sh.Name) = VBA.UCase(strTab) Then ShNoEx = True End If Next sh With ThisWorkbook If Not ShNoEx Then 'Cria Nova Aba, Caso não Exista .Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = strTab wsb.Rows(1).Copy Sheets(strTab).Rows(1) End If With .Sheets(strTab) .Activate For i = 1 To wsb.Cells(irs, "B").Value2 irt = .Cells(Rows.Count, 1).End(xlUp).Offset(1).Row .Cells(irt, "A") = wsb.Cells(irs, "A").Value2 .Cells(irt, "B").NumberFormat = "@" ' Formata a linha coluna Quant. como texto .Cells(irt, "B") = i & "/" & wsb.Cells(irs, "B") .Cells(irt, "C") = wsb.Cells(irs, "C").Value2 Next i End With End With irs = irs + 1 Loop Sheets(strTab).Columns.AutoFit ' ajusta as colunas da nova aba End Sub
-
@Lucas Brederveja se é isso.. Vendo a imagem que disponbilizou, considerei que os dados estão dispostos nas Colunas A,B, C e a partir da linha 2 A macro define o nome das novas abas como Linha 1, Linha 2, Linha 3, etc... *Poderia nomea-las de acordo com a coluna "A" do seu exemplo, mas como tens caracteres especiais e pode haver espaços, enfim os nomes da coluna "A" não seguem um padrão, e pode gerar erros, na hora de renomear interrompendo a execução do codigo. Em seguida replica os dados de acordo com a sua 2a imagem, alterando a coluna "B" como por exemplo 1/20, 2/20, assim sucessivamente. * A coluna "B" é formatada como "texto", caso contrario o excel "entende" como data Na coluna "D" da aba Base, a macro cria um hyperlink para ir direto a respectiva aba. Sub ExplodirLinhaParaOutrasSheets() Dim irt As Long, i As Long, wsb As Worksheet Dim strTab As String, sh As Worksheet, ShNoEx As Boolean Dim irs As Long: irs = 2 Set wsb = ActiveSheet ' define a aba BASE Do Until VBA.IsEmpty(wsb.Cells(irs, 1)) strTab = "LINHA " & irs ' define nome da ABA ShNoEx = False ' verif. se já existe a aba com o nome da coluna "A" For Each sh In ThisWorkbook.Worksheets If VBA.UCase(sh.Name) = VBA.UCase(strTab) Then ShNoEx = True End If Next sh If Not ShNoEx Then With ThisWorkbook 'Cria Nova Aba, Caso não Exista .Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = strTab wsb.Rows(1).Copy Sheets(strTab).Rows(1) With .Sheets(strTab) For i = 1 To wsb.Cells(irs, "B").Value2 irt = .Cells(Rows.Count, 1).End(xlUp).Offset(1).Row .Cells(irt, "A") = wsb.Cells(irs, "A").Value2 .Cells(irt, "B").NumberFormat = "@" ' Formata a linha coluna Quant. como texto .Cells(irt, "B") = i & "/" & wsb.Cells(irs, "B") .Cells(irt, "C") = wsb.Cells(irs, "C").Value2 Next i .Columns.AutoFit ' ajusta as colunas da nova aba End With End With End If With wsb .Activate .Cells(irs, "D").Activate ' *** Na COLUNA "D" => cria um hiperlink, para ir direto p/ aba ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", _ SubAddress:="'" & Sheets(strTab).Name & "'!A1", TextToDisplay:="CLICK AQUI" End With irs = irs + 1 Loop End Sub
-
@Lucas Brederpelo que entendi, voce quer que cada linha, fosse distribuida em uma nova planilha (aba) e preenchesse, repetindo, as linhas de acordo com a coluna quantidade. é isso?