Ir para conteúdo
Fórum Script Brasil

Benhur Palini

Membros
  • Total de itens

    27
  • Registro em

  • Última visita

Tudo que Benhur Palini postou

  1. Oi! Seria isto: Range("A1").Value = ComboBox1.Text Range("A2").Value = TextBox1.Text
  2. Oi, Exemplo de uma planilha com 4 retângulos: Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 1 To ActiveSheet.Shapes.Count Valor = Range("A" & i).Value If Valor = 1 Then ActiveSheet.Shapes("Retângulo " & i).Visible = msoTrue ElseIf Valor = 2 Then ActiveSheet.Shapes("Retângulo " & i).Visible = msoFalse End If Next i End Sub
  3. Oi, se quiser copiar e colar, pode fazer assim: Sheets("Plan1").Rows("1:1").Copy Sheets("Plan2").Cells(1, 1).PasteSpecial Paste:=xlPasteValues
  4. Oi! segue uma sugestão: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then Exit Sub End If Select Case Range("A1").Value Case 1 UserForm1.Show Case 2 UserForm2.Show Case 3 UserForm3.Show End Select End Sub
  5. Acho que não poderei lhe ajudar neste caso, pois seria necessário analisar todos os critérios para propor uma solução.
  6. Oi, sugestão: if WorksheetFunction.IsText(Valor) then .....'retorna verdadeiro se o conteúdo da variável Valor for do tipo texto (string). WorksheetFunction pode usar todas as fórmulas de planilha dentro do VBA. Observe que if IsNumeric(Valor) Then 'Retorna verdadeiro se o conteúdo da variável Valor for qualquer tipo de número, não apenas para inteiros (Intenger). ex. 1 ou 1,1 ou 11,11
  7. Oi, Maxx77! Talvez isto ajude: ActiveSheet.Copy ChDir "C:\Destino" ActiveWorkbook.SaveAs Filename:="C:\Destino\Pasta1.xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False Isto copia a planilha ativa para um novo arquivo de Excel. Depois salva na pasta préviamente criada que nomeada como 'Destino'
  8. Benhur Palini

    erro 91

    Oi, Danyy! Nesses casos prefiro fazer assim: Sub Erro() On Error Resume Next 'De preferência no início Do While ... selection.Find... If Err.Number <> 0 Then 'Se ocorrer um erro a propriedade Number será diferente de zero msg = MsgBox("Erro " & Err.Number & " " & Err.Description) ' Se quizer mostrar o erro Windows("RELATORIO DESCONTO.XLSX").Activate ActiveCell.Offset(1, 0).Select Err.Clear 'Limpa o erro para a próxima execução End If loop... Acredito que o uso de 'On Error GoTo trataerro' seria mais indicado em casos que 'trataerro:' fosse usado fora do loop, que tivesse maior números e de preferência antes de 'End Sub' para encerrar o procedimento. espero ter ajudado!
  9. Benhur Palini

    erro 91

    Oi, Danyy! Este erro é esperado quando nenhum valor correspondente à pesquisa é encontrado. A solução é mesmo o tratamento de erro.
  10. Oi, Daniel! Sugiro o seguinte: Unload Me 'fecha o formulário, no caso o formulário de login Private Sub UserForm_Terminate() 'este evento ocorre após o fechamento do formulário UserForm2.Show 'inicia o segundo formulário End Sub
  11. Benhur Palini

    VBA IF E ELSE

    Oi, Admilton! a sintaxe é If condição Then ... Elseif condição Then ... End If Private Sub textbox1_change() IF (textbox2 * textbox3) > (textbox2 * textbox4) then textbox1 = textbox2 * textbox3 Elseif (textbox2 * textbox3) < (textbox2 * textbox4) then textbox1 = textbox2 * textbox4 End IF End Sub
  12. Oi! Segue uma sugestão: vTexto = "111 - aaa22" vPosição = InStr(1, vTexto, "-") vTexto = Mid(vTexto, 1, vPosição - 2) 'a função InStr retorna a posição de "-" a partir da posição 1 'Mid retorna parte de um texto. Observe que "-" está na posição 5 Lembrando que no Excel podem ser usadas as funções LOCALIZAR() e EXT.TEXTO() Em muitos casos é melhor usar a ferramenta 'Texto para colunas' disponível na guia Dados.
  13. Anacleto, Este exemplo classifica em ordem crescente uma tabela com auto filtro que inicia na célula A1 da planilha Plan1: Sub Macro1() Set Tabela = ActiveWorkbook.Worksheets("Plan1").AutoFilter.Sort Tabela.SortFields.Clear Tabela.SortFields.Add Key:=Range("A1"), Order:=xlAscending Tabela.Apply End Sub
  14. Oi, Nelson! Se ainda precisar, segue uma sugestão: Application.OnTime TimeValue(Hora), Rotina Hora é a hora em que a rotina deve ser executada. Rotina é uma Sub salva no mesmo projeto. A execução do código continua, mas a Rotina fica agendada pra ser executada. este exemplo agenda 3 execuções da Rotina: Application.OnTime TimeValue(Hora1), Rotina Application.OnTime TimeValue(Hora2), Rotina Application.OnTime TimeValue(Hora3), Rotina
  15. Oi, Anacleto! Uma solução simples pode ser: Private Sub TextBox1_Enter() If TextBox1.Text = "24:00" Then TextBox1.Text = "00:00" End If End Sub
  16. Oi, Enso! Observe que um vetor inicia na posição 0. então acho que precisa fazer algo assim: For i = 0 To 31 coluna(i) = x.Columns(i+1) Next i Range("A" & y).Value = coluna(0) também pode ser interessante copiar toda as colunas de uma só vez com o método copy
  17. Oi, Edu Borges! Set T1 = ActiveSheet.PivotTables("Tabela dinâmica1") T1.PivotFields("Treinamento").ClearAllFilters T1.PivotFields("Treinamento").CurrentPage = "Treinamento1" End Sub A instrução Set faz com que T1 represente a mesma coisa que ActiveSheet.PivotTables("Tabela dinâmica1"), assim podemos usar T1 para se referir a tabela dinâmica de nome Tabela dinâmica1. Supondo que temos um filtro de relatório chamado Treinamento podemos usar o método ClearAllFilters para limpá-lo. Supondo que temos um treinamento chamado Treinamento1 podemos a propriedade CurrentPage = "Treinamento1" para reativar o filtro. segue um exemplo com parâmetros que tu pode usar para todas as tabelas dinâmicas: Sub Atualizar(Tabela, Campo, Filtro) Set T1 = ActiveSheet.PivotTables(Tabela).PivotFields(Campo) T1.ClearAllFilters T1.CurrentPage = Filtro End Sub Sub Principal() Atualizar "Tabela dinâmica1", "Treinamento", "Treinamento1" End Sub
  18. Benhur Palini

    Função da Combobox

    Oi, slaino! Copiei teu código e funcionou direitinho.
  19. Oi! Este exemplo oculta as linhas 1 a 15 se o a células A1 e B2 estiverem vazias: If Range("A1").Value = Empty and Range("B1").Value = EmptyThen Rows("1:15").EntireRow.Hidden = True End If
  20. Oi, Claudio! tente usar ActiveWorkbook.Sheets(1) para se referir a planilha 1 do arquivo ativo, neste caso o arquivo que acabou de ser aberto outra sugestão é usar Set MinhaPlanilha = ActiveWorkbook.Sheets(1), assim não é necessário usar With-End With use MinhaPlanilha.propriedade, assim é possível se referir esta planilha mesmo quando outra planilha estiver ativa.
  21. Oi, raqkg! Ainda precisa de ajuda?
  22. Seria isto? if verde = true then condicao = "Verde" else condicao = "padrão" end if If Sheets("Cores").Cells(lin, 2) = "Ativo" AND Sheets("Cores").Cells(lin, 3) = condicao Then 'executa a ação End If se a primeira célula for igual a "Ativo" e a segunda célula for igual cor contida na variável condicao a ação deverá ser executada.
  23. Benhur Palini

    Planilha Visivel

    Oi, Danny! application.visible se refere a toda a aplicação, no caso todas os arquivos de Excel abertos. talvez este recuso seja interessante no teu caso: ActiveWorkbook.IsAddin = True mas cuidado, pois outro arquivo estiver ativo quando esta instrução for executada, ela também desaparecerá, por isso é melhor se referir ao workbook pelo nome. no final não esqueça de mudar .IsAddin para false. Se tiver problema durante o desenvolvimento, mude manualmente na janela de propriedades.
  24. Benhur Palini

    VBA usando IF

    Oi, Adimilson! Acho o problema é esta parte "Fretepeso2 =" tente: ElseIf Format(CDbl(Fretepeso) * CDbl(Peso) > CDbl(Fretepeso) * CDbl(cubagem), "#,##0.00") Then ou ElseIf (Fretepeso * Peso) > (Fretepeso * cubagem) Then
×
×
  • Criar Novo...