Boa tarde,
Gostaria de saber se alguém pode me ajudar na lógica de uma macro, pois a que programei está muito lenta para executá-la. Segue abaixo a macro.
Private Sub lançar()
Sheets("EXTRATO ANUAL").Activate
On Error Resume Next
Dim rec As String
Dim dep As String
Dim cc As String
Dim mes As String
Dim valor As Double
Dim nf As Double
Dim data As Date
Dim forn As String
Dim pag As Double
Dim cxb As String
Dim prod As String
Dim med As String
Dim qtd As Double
Dim bch As String
rec = ComboBox1
dep = ComboBox2
cc = ComboBox3
mes = ComboBox4
valor = TextBox1
nf = TextBox2
data = TextBox3
forn = TextBox4
pag = TextBox5
cxb = ComboBox5
prod = TextBox6
med = ComboBox6
qtd = TextBox7
bch = TextBox8
On Error Resume Next
If valor > 0 And rec = "Despesa" Then
valor = "-" & valor
End If
If pag <> "" And rec = "Despesa" Then
pag = "-" & pag
End If
Sheets("EXTRATO ANUAL").Activate
Range("C2").Select
Do
If ActiveCell.Value <> Empty Then
ActiveCell.Offset(1, 0).Activate
End If
Loop Until ActiveCell.Value = Empty
ActiveCell = dep
ActiveCell.Offset(0, 1).Activate
ActiveCell = cc
ActiveCell.Offset(0, 1).Activate
ActiveCell = mes
ActiveCell.Offset(0, 1).Activate
ActiveCell = valor
ActiveCell.Offset(0, 1).Activate
ActiveCell = nf
ActiveCell.Offset(0, 1).Activate
ActiveCell = data
ActiveCell.Offset(0, 1).Activate
ActiveCell = forn
ActiveCell.Offset(0, 1).Activate
ActiveCell = pag
ActiveCell.Offset(0, 1).Activate
ActiveCell = cxb
ActiveCell.Offset(0, 1).Activate
ActiveCell = prod
ActiveCell.Offset(0, 1).Activate
ActiveCell = med
ActiveCell.Offset(0, 1).Activate
ActiveCell = qtd
ActiveCell.Offset(0, 1).Activate
ActiveCell = bch
ActiveCell.Offset(0, 1).Activate
End Sub
Utilizo um form com combobox e listview, que ao preenche-los, eles atualizam ou inserem dados em uma planilha. Contudo, essa macro demora de 20 a 30seg para executar. Alguém poderia me ajudar?
Obrigado
Postado : 21/02/2017 9:52 am