Bom dia. Gostaria de aproveitar esse tópico e apresentar um problema para que pudessem me sugerir soluções.
Acima, descrevi um pouco do que queria. Procurar código, soma com valores existentes na Plan1 e em seguida lança os valores
na plan2. Sendo assim, a Plan2 serve como um "banco de dados". Estou notando que já com muitos dados nessa pasta de trabalho
está havendo uma demora para registrar mais valores... Já que tenho além das duas planilhas mais outras quatro.
A solução que pensei foi então ter uma segunda pasta de trabalho apenas para armazenar o conteudo da plan2...
Será que poderiam dar uma força para jogar os valores da PASTA DE TRABALHO 1 - PLAN2 para a PASTA DE TRABALHO 2 - PLAN1 ?
Se tiverem uma solução mais simples para resolver a demora no registro agradeço
Private Sub Salvar_Click()
Dim L As Long
Dim iRow As Long
Dim sCodigo As String
Dim sRw As Long
Dim wS_1 As Worksheet
Dim wS_2 As Worksheet
Set wS_1 = Sheets("Plan1")
Set wS_2 = Sheets("Plan2")
'Qde de linhas Plan1
rang = wS_1.Cells(Rows.Count, 1).End(xlUp).Row
sCodigo = TextBox1.Value
With wS_1
Set Rng = .Range(.Cells(2, 1), .Cells(rang, 1))
End With
With Rng
Set Rng = .Find(What:=sCodigo, _
After:=.Cells(.Cells.Count), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
sRw = Rng.Row
'Lançar na Plan1
wS_1.Cells(sRw, 2).Value2 = Cells(sRw, 2).Value2 + TextBox2.Value
wS_1.Cells(sRw, 3).Value2 = Cells(sRw, 3).Value2 + TextBox3.Value
wS_1.Cells(sRw, 4).Value2 = Cells(sRw, 4).Value2 + TextBox3.Value
wS_1.Cells(sRw, 5).Value2 = Cells(sRw, 5).Value2 + TextBox3.Value
'Lançar na Plan2
iRow = wS_2.Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1
'Carregar os dados digitados nas caixas de texto para a planilha
wS_2.Cells(iRow, 1).Value = Me.TextBox1.Value
wS_2.Cells(iRow, 2).Value = Me.TextBox2.Value
wS_2.Cells(iRow, 3).Value = Me.TextBox3.Value
wS_2.Cells(iRow, 4).Value = Me.TextBox4.Value
wS_2.Cells(iRow, 5).Value = Me.TextBox5.Value
MsgBox "Registrado com Sucesso!"
Else
MsgBox "Registro Não Localizado"
End If
End With
'Limpar as caixas de texto
TextBox1.Value = Empty
TextBox2.Value = 0
TextBox3.Value = 0
TextBox4.Value = 0
TextBox5.Value = 0
'Colocar o foco na primeira caixa de texto
TextBox1.SetFocus
Postado : 02/08/2016 7:46 am