Benhur Palini
-
Total de itens
27 -
Registro em
-
Última visita
Posts postados por Benhur Palini
-
-
Oi,
Exemplo de uma planilha com 4 retângulos:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)For i = 1 To ActiveSheet.Shapes.CountValor = Range("A" & i).ValueIf Valor = 1 ThenActiveSheet.Shapes("Retângulo " & i).Visible = msoTrueElseIf Valor = 2 ThenActiveSheet.Shapes("Retângulo " & i).Visible = msoFalseEnd IfNext iEnd Sub -
Oi,
se quiser copiar e colar, pode fazer assim:
Sheets("Plan1").Rows("1:1").CopySheets("Plan2").Cells(1, 1).PasteSpecial Paste:=xlPasteValues -
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 -
Acho que não poderei lhe ajudar neste caso, pois seria necessário analisar todos os critérios para propor uma solução.
-
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
-
Oi, Maxx77!
Talvez isto ajude:
ActiveSheet.Copy
ChDir "C:\Destino"
ActiveWorkbook.SaveAs Filename:="C:\Destino\Pasta1.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=FalseIsto copia a planilha ativa para um novo arquivo de Excel.
Depois salva na pasta préviamente criada que nomeada como 'Destino'
-
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).SelectErr.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!
-
-
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 -
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
-
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 5Lembrando 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. -
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.SortTabela.SortFields.ClearTabela.SortFields.Add Key:=Range("A1"), Order:=xlAscendingTabela.ApplyEnd Sub -
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
-
Oi, Anacleto!
Uma solução simples pode ser:
Private Sub TextBox1_Enter()If TextBox1.Text = "24:00" ThenTextBox1.Text = "00:00"End IfEnd Sub -
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 iRange("A" & y).Value = coluna(0)
também pode ser interessante copiar toda as colunas de uma só vez com o método copy
-
Oi, Edu Borges!
Set T1 = ActiveSheet.PivotTables("Tabela dinâmica1")T1.PivotFields("Treinamento").ClearAllFiltersT1.PivotFields("Treinamento").CurrentPage = "Treinamento1"End SubA 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.ClearAllFiltersT1.CurrentPage = FiltroEnd SubSub Principal()Atualizar "Tabela dinâmica1", "Treinamento", "Treinamento1"End Sub -
Oi, slaino!
Copiei teu código e funcionou direitinho.
-
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 = EmptyThenRows("1:15").EntireRow.Hidden = TrueEnd If -
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.
-
Oi!
Teria um exemplo?
-
Oi, raqkg!
Ainda precisa de ajuda?
-
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 Ifse 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.
-
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.
-
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
URGENTE! Ajuda num trabalho de VBA
em VBA
Postado
Oi! Seria isto: