Boa noite. Agradeço a atenção e a ajuda, porém ainda não estou conseguindo fazer o programa funcionar conforme preciso.
OQUE ESTÁ ACONTECENDO:
Na seguinte condição:
If sCel.Value = sDesignacao And sCel.Offset(0, 2).Value = sTamanho Then
sCel.Select
' Soma a quantidade de entrada com a quantidade do perfil que já existe no estoque (SALDO TOTAL)
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, 1) + (txtquantidade * 1) 'ActiveCell.Offset(0, 1).Value --> Quantidade que tem no SALDO TOTAL
Else ' Se o perfil não tiver o tamanho já cadastrado, lançar o perfil na próxima linha vazia
Application.Goto Reference:="OFFSET(R7C57,COUNTA(R8C57:R1000000C57)+1,0)" 'Vai para a próxima linha vazia
ActiveCell.Value = cmb_designacao.Text
ActiveCell.Offset(0, 1).Value = txtquantidade.Text
ActiveCell.Offset(0, 2).Value = txttamanho.Text
ActiveCell.Offset(0, 3).Value = txtpeso.Text
End If
Só está funcionando se eu não tenho nenhuma célula com valor preenchido, na tabela SALDO TOTAL, igual ao valor que será inserido pelo formulário.
Se na tabela SALDO TOTAL, eu tiver alguma célula com a DESIGNACAO igual a designação do formulário ou o TAMANHO igual ao tamanho do formulário, a soma do item cadastrado está acontecendo, porém o mesmo item é adicionado na última linha também.
**********************************************************************************************************************
COMO DEVE FUNCIONAR ESTA TABELA:
SE no formulário de entrada, a DESIGNAÇÃO e o TAMANHO já estiverem sido lançados na tabela SALDO TOTAL ENTÃO
a quantidade da tabela deste item, será somada com a quantidade do item no formuláio
SENÃO
SE no formulário de entrada, (a DESIGNAÇÃO for igual a DESIGNAÇÃO tabela SALDO TOTAL porém com TAMANHO diferente da tabela SALDO TOTAL) OU (a DESIGNAÇÃO for diferente da DESIGNAÇÃO da tabela SALDO TOTAL)
este item deverá ser adicionado ma próxima linha vazia da tabela SALDO TOTAL.
**********************************************************************************************************************
Como tentei executar esta parte, mas não obtive sucesso:
'...:: SALDO TOTAL ::...
Dim sDesignacao As String
Dim sTamanho As Integer, uLin As Long
Dim sCel As Range
Dim sRg As Range
sDesignacao = cmb_designacao.Text
sTamanho = txttamanho.Text
uLin = Cells(Cells.Rows.Count, "BE").End(xlUp).Row
If uLin < 8 Then uLin = 8
Set sRg = Range("BE8:BE" & uLin)
For Each sCel In sRg
If sCel.Value = sDesignacao And sCel.Offset(0, 2).Value = sTamanho Then
sCel.Select
' Soma a quantidade de entrada com a quantidade do perfil que já existe no estoque (SALDO TOTAL)
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, 1) + (txtquantidade * 1) 'ActiveCell.Offset(0, 1).Value --> Quantidade que tem no SALDO TOTAL
Else ' Se o perfil não tiver o tamanho já cadastrado, lançar o perfil na próxima linha vazia
If (sCel.Value = sDesignacao And sCel.Offset(0, 2).Value <> sTamanho) Or (sCel.Value <> sDesignacao And sCel.Offset(0, 2).Value <> sTamanho) Then
Application.Goto Reference:="OFFSET(R7C57,COUNTA(R8C57:R1000000C57)+1,0)" 'Vai para a próxima linha vazia
ActiveCell.Value = cmb_designacao.Text
ActiveCell.Offset(0, 1).Value = txtquantidade.Text
ActiveCell.Offset(0, 2).Value = txttamanho.Text
ActiveCell.Offset(0, 3).Value = txtpeso.Text
End If
End If
Next
Fico no aguardo pela ajuda, por favor...
Obrigado desde já...
Abrass
Postado : 09/05/2015 5:42 pm