-
Posts
2.009 -
Cadastrado em
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Basole postou
-
Como preencher célula no excel, vinculada à seleção de um botão de opção
Basole respondeu ao tópico de gibbsonx em Microsoft Office e similares
@gibbsonx segue (anexo) opção em vba. Plan Exemplo_1.zip -
Como atualizar tabela dinâmica em planilha protegida
Basole respondeu ao tópico de Bras12 em Microsoft Office e similares
Não necessariamente, aqui pra mim atualizou perfeitamente ou seja alterei um dado na plan1 e quando. entrei na Planilha1 os dados tinham alterados. Se preferir coloque um atalho de teclado na macro "DesprotegeAtualiza" (aperte as teclas Alt+ F8 sel. a macro e opções) -
Pelo que entendi.. pelo menos parte do que precisa eu respondi no meu ultimo post. Cole o codigo abaixo, no modulo de EstaPasta_de_trabalho: (vide img) e para a macro seja executada automaticamente use a sua função =UsuarioRede() na celula desejada. Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Formula = "=UsuarioRede()" Then Target.Value = UsuarioRede Target.OffSet(,1).Value = Vba.Now End If End Sub
-
Boa tarde, fiz a parte que exporta as abas ara PDF, a parte do grafico não entendi direito exatamente o que precisa. Coloquei o botao que aciona a macro na faixa Personalizada (ou barra de ferramentas se preferir) * (vide img abaixo). Segue o anexo. exemplo_1.zip
-
Email com + doq 1 anexo
Basole respondeu ao tópico de Eloize Teixeira em Microsoft Office e similares
Acho que tem que ir em editar o titulo do topico -
Email com + doq 1 anexo
Basole respondeu ao tópico de Eloize Teixeira em Microsoft Office e similares
Por favor, coloque topico como resolvido! -
@Rolmis seja bem vindo ao forum. Segue exemplo, cole o codigo no modulo da respectiva planilha (aba). (*vide img1) E altere o nome do seu botao (de acordo com o codigo) se necessario. Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column < 3 Or Target.Row < 3 Then Exit Sub With ActiveSheet.Shapes("CommandButton1") .Top = Target.Offset(-2).Top .Left = Target.Offset(, -2).Left End With End Sub img1 Uma outra opção, ao invés de um botao flutuante, voce inserir um botao na Faixa de Opção (ou barra de ferramentas se preferir), (*vide img2 e img3) img2 ou esta: img3
-
Email com + doq 1 anexo
Basole respondeu ao tópico de Eloize Teixeira em Microsoft Office e similares
@Eloize Teixeira no seu codigo voce pode acrescentar quantos " .Attachments.Add (+ o diretorio + o nome do arquivo) " que desejar, ou seja cada endereço de anexo seu diretorio. ex.: .Attachments.Add "C:\ .Attachments.Add Environ("USERPROFILE") & "\AppData\Local\Temp\" & Range("c1").Value & ".pdf" .Attachments.Add G:\BRITA-CD_Itapevi\KPI Logistica\Expedição Pallets - Controle\Template\Padrão Minimo de Qualidade - Pallets Devolução.pdf" .Attachments.Add "c:\Temp\SeuPDFpdf" etc.... -
Como atualizar tabela dinâmica em planilha protegida
Basole respondeu ao tópico de Bras12 em Microsoft Office e similares
@Bras12 ao alterar algum dado da aba Plan1 e ativar a aba "Planilha1" que contem a sua Tabela Dinamica, a macro atualizará os dados automaticamente. Modelo_Tabela_Dinamica.zip -
Pelo que entendi...o problema é que após realizar as alterações, aparece na célula o nome ex.: (usuario A), salva e fecha a planilha. Quando novo Usuário (usuario B), abre a mesma, as células que continham o nome (usuario A), são alteradas para o nome do usuário que esta alterando a planilha (usuario B),não ficando salvo assim o usuário que fez a alteração, mas sim o usuário que está com a planilha aberta. Se for isso mantenha a sua Funcao UsuarioRede() no Modulo Padrão e insira este codigo (abaixo), no modulo da respectiva Planilha (aba): Private Sub Worksheet_Change(ByVal Target As Range) If Target.Formula = "=UsuarioRede()" Then Target.Value = UsuarioRede End If End Sub Ou se deseja para todas as planilhas (abas), cole no modulo de EstaPasta_de_trabalho: Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Formula = "=UsuarioRede()" Then Target.Value = UsuarioRede End If End Sub Como utilizar: -> Na celula desejada, digite a Funcao UsuarioRede como fazia anteriormente -> =NomeUsuario() e a macro irá sobrepor a formula com nome do usuario atual, automaticamente.
-
Como atualizar tabela dinâmica em planilha protegida
Basole respondeu ao tópico de Bras12 em Microsoft Office e similares
@Bras12 seria melhor voce preparar um exemplo com com a tabela e alguns dados para testes. -
Como atualizar tabela dinâmica em planilha protegida
Basole respondeu ao tópico de Bras12 em Microsoft Office e similares
Só tirar a senha: Sub DesprotegeAtualiza() On Error Resume Next With ActiveSheet .Unprotect .PivotTables(1).RefreshTable ' .Protect End With End Sub -
Como atualizar tabela dinâmica em planilha protegida
Basole respondeu ao tópico de Bras12 em Microsoft Office e similares
Veja se este exemplo ajuda: Sub DesprotegeAtualiza() On Error Resume Next With ActiveSheet .Unprotect Password:="suasenha" .PivotTables(1).RefreshTable .Protect Password:="suasenha" End With End Sub -
@Glaiciane Perim vendo a imagem que voce postou, me parece que a macro esta em um modulo padrão, como disse anteriormente para a macro ser executada automaticamente, voce precisa inserir esse codigo no vbe da EstaPasta_de_trabalho (vide img q postei). * (Dee 2 click sobre EstaPasta_de_trabalho p/ abrir o modulo e cole).. Eu alterei o codigo (abaixo), pois não tinha entendido exatamente o que queria: Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim lngCol As Long Const w1 As String = "Plan1" ' Altere o nome da sua planilha(aba) * coluna D Const w2 As String = "Plan2" ' Altere o nome da sua planilha(aba) * coluna I If Target.Count > 1 Then Exit Sub Select Case ThisWorkbook.ActiveSheet.Name Case Is = w2 lngCol = 9 Case Else Exit Sub End Select If lngCol = 0 Then Exit Sub If Target.Column = lngCol Then ThisWorkbook.Worksheets(w1).Range("D" & Target.Row).Value = VBA.Now End If End Sub
-
O forum está bug, e não esta deixando fazer o download dos arquivos. Se puder fazer UpLoad do seu arquivo, em um site gratuito como, google drive, one drive, dropbox, https://www.sendspace.com/ e etc. E inseri o link aqui.
-
Excel - número sequencial fixo
Basole respondeu ao tópico de AdrianoKbcao em Microsoft Office e similares
@AdrianoKbcao sem ver sua planilha fica difícil dar uma sugestão melhor. O que poderia fazer alterar a Coluna "B" do exemplo para uma outra coluna "Z" por exemplo, (tipo auxiliar) que voce coloca-se um "X" para a macro inserir a numeração. Mas fiz algumas alterações conforme sua solicitação. A macro so ira inserir a numeraçao se a respec. linha da coluna "A" estiver vazia. Private Sub Worksheet_Change(ByVal Target As Range) Dim Lr As Long If Target.Count > 1 Then Exit Sub Lr = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 If Not Intersect(Target, Range("B2:B" & Lr)) Is Nothing Then ' * ajuste a coluna desejada If Target.Offset(, -1).Value = "" Then Target.Offset(, -1).Value = GerarNumAutomatic End If End Sub -
@Glaiciane Perim veja se o exemplo (abaixo) leh ajuda: Cole o codigo Exemplo, no modulo de EstaPasta_de_trabalho: (vide img) Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim lngCol As Long If Target.Count > 1 Then Exit Sub Select Case ActiveSheet.Name Case Is = "Plan1" ' Altere o nome da sua planilha(aba) * coluna D lngCol = 4 Case Is = "Plan2" ' Altere o nome da sua planilha(aba) * coluna I lngCol = 9 End Select If lngCol = 0 Then Exit Sub If Target.Column = lngCol Then ActiveSheet.Range("A" & Target.Row).Value = VBA.Now End If End Sub
-
Se puder fazer um upload para testar o codigo na sua propria planilha.
-
Excel - número sequencial fixo
Basole respondeu ao tópico de AdrianoKbcao em Microsoft Office e similares
@AdrianoKbcao o codigo que postei é uma função GerarNumAutomatic() cria uma sequencia numerica somando +1 ao numero maior da coluna "A" . Cole esta funcão em um Standart Módulo. E a macro abaixo no modulo da sua Respectiva planilha (Aba): Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("B2:B1000")) Is Nothing Then ' * ajuste o intervalo se necessario Target.Offset(, -1).Value = GerarNumAutomatic End If End Sub Eu tb. nao entendi em qual intervalo que vai utilizar, pois nao informou. Mas na sugestao acima, ao digitar algo na coluna "B" a partir da 2ª linha a macro insere uma numeração automatica, na respectiva linha na coluna "A", automaticamente. -
@Ma o forum deve estar com algum problema, que não esta deixando fazer o download dos arquivos. Se puder postar em um site gratuito como, google drive, one drive, dropbox, https://www.sendspace.com/ etc. E inseri o link aqui.
-
@rdomingos Não entendi o que quer dizer com "automaticamente aplicasse a "plan2"; "plan3" e etc." Se pudesse enviar um exemplo com alguns dados, demostrando manualmente o resultado desejado seria mais fácil o entendimento.
-
Para aplicar em todas a planilha use activeSheet.cells.value = NomeUsuario. Mas dessa forma a macro ira tentar inseri o respecitivo usuario em todas as celulas da sua aba. Bom não sei exatamente como ira utilizar sua plainha, nas tente desta forma: Mantenha a sua Funcao NomeUsuario no Standart Modulo e cole a macro abaixo, no modulo da sua respectiva aba: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Formula = "=NomeUsuario()" Then Target.Value = NomeUsuario End If End Sub Como utilizar: -> Na celula desejada, digite a Funcao NomeUsuario como fazia anteriormente -> =NomeUsuario() e a macro ira sobrepor a formula com nome do usuario atual, automaticamente.
-
Macro só salvar através de uma condicional
Basole respondeu ao tópico de Gustavo Lomba em Microsoft Office e similares
Bom seria a mesma condiçao? Se sim, segua as alterações: Const NomeDaSuaAba = "* ALTERE AQUI e coloque o nome da sua ABA (entre aspas)" Const NomeDaSuaOutraAba = "* ALTERE AQUI e coloque o nome da sua OUTRA ABA (entre aspas)" Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Sheets(NomeDaSuaAba).Range("Q1").Text <> "300%" Or _ Sheets(NomeDaSuaOutraAba).Range("Q1").Text <> "300%" Then If MsgBox("Arquivo preenchido incorretamente, salvar mesmo assim? ", vbCritical + vbYesNo, "Aviso") = vbYes Then Cancel = False Exit Sub Else Cancel = True ThisWorkbook.Application.DisplayAlerts = False ThisWorkbook.Application.Quit End If 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