Se pretendermos que o(s) nome(s) filtrados apareçam numa ListBox na WorkSheet, criam-se: uma ListBox e um botão de comando, ambos a partir do Control ToolBox. Depois, com um pouco de VBA, podemos efectuar o filtro, como nos mostra a seguinte sequência: 1º – Para chamar o procedimento: 2º – Define-se o filtro: 3º – O resultado será: O Código: Private …
Read More »Posts Recentes
Filtro numa ListBox II
Se quisermos, em vez de criarmos uma ListBox na própria Worksheet, podemos criá-la num UserForm. Vejamos o exemplo: Usamos o mesmo tipo de InputBox, já mostrado anteriormente: O resultado será: Para aparecer a ListBox, temos então que criar um UserForm no editor de VBA, como o que segue: Depois, inserimos a ListBox no UserForm: Por fim, nas propriedades da ListBox, …
Read More »Colocar a Data numa célula
Para colocar a data corrente (ou outra) numa determinada célula, podemos utilizar um pouco de VBA: O Código: Sub Colocar_Data() Dim Ops(1 To 3) As String Dim Msg As String Ops(1) = Day(Date) Ops(2) = Month(Date) Ops(3) = Year(Date) Msg = Ops(3) & "-" & Ops(2) & "-" & Ops(1) Range("C1").Select Application.Cursor = xlNormal ActiveCell.FormulaR1C1 = InputBox(Prompt:="Colocar Data (aaaa-mm-dd):", _ Title:="Date", Default:=Msg) End Sub NOTA: Por defeito, a …
Read More »Abrir procedimento com valor numa determinada célula
Se pretendermos que seja aberto um procedimento quando uma determinada célula recebe um valor diferente de 0 (zero) e apresente uma mensagem de alerta quando recebe um valor 0 (zero) , como no exemplo com a célula B4, podemos utilizar o Evento SelectionChange: O Código: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If IsEmpty(Range("B4")) Then Exit Sub End If If Range("B4") <> 0 Then Call …
Read More »Centrar texto numa MsgBox
É possível centrar texto numa MsgBox: O Código: Function Msg(ParamArray parm()) For a = LBound(parm) To UBound(parm) If Len(parm(a)) > max_len Then max_len = Len(parm(a)) End If Next a For a = LBound(parm) To UBound(parm) If Len(parm(a)) < max_len Then spaces = (((max_len – Len(parm(a))) / 1.6)) For b = 1 To spaces parm(a) = " " & parm(a) & " " Next b End If msgstring = msgstring & parm(a) & Chr(10) Next …
Read More »ActiveWorkbook.SaveAs Filename
Se pretendermos guardar um determinado ficheiro de Excel com o mesmo nome ou nome diferente, mas com a inclusão de uma determinada palavra (no exemplo a palavra é "FINAL_"), ficando o ficheiro protegido (read-only), podemos utilizar um pouco de VBA num botão de comando: O Código: Private Sub VersãoFinal_Click() Dim strNome, UserChoice, strGuarda As String Range("AB44") = "Final_" strNome = ThisWorkbook.Name strGuarda …
Read More »Label1.Caption
Se pretendermos que um determinado resultado apareça numa label dentro de um UserForm, como no exemplo, utilizamos um pouco de VBA, para obtermos o fim em vista: O Código: Private Sub UserForm_Initialize() Dim strTotal As Double strTotal = Worksheets("Sheet1").Range("B7").Value Me.Label1.Caption = strTotalEnd Sub
Read More »