Consegui Resolver, só não foi uma solução bonita:
Segue novo código:
Sub gravarorcamento()
Dim lastRow As Long, Variavel As Integer, LastCol As Long, qtdprodutos As Long, Data As String, resposta As String, ultimaresposta As String
Application.EnableEvents = False
Range("B7").Value = Range("B7").Value + 1
Variavel = Range("B7").Value
ultimaresposta = Range("A7").Value
Data = Format(DateTime.Now, "dd/mm/yyyy - hh:mm:ss")
resposta = InputBox("Descrição do Orçamento", "Entrada de Dados", ultimaresposta)
Range("A7").Value = resposta
If resposta = Empty Then
Else
With ActiveSheet
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
ActiveSheet.Cells(.Rows.Count, 1).End(xlUp).EntireRow.Select
qtdprodutos = ActiveCell.Offset(1, 5)
End With
Range("C22", Cells(lastRow, 3)).Copy
Sheets("BDORCAMENTOS").Select
With ActiveSheet
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
LastCol = LastCol + 1
End With
Range(Cells(6, LastCol), Cells(6, LastCol)).Select
Selection.ColumnWidth = 32.01
ActiveSheet.Paste
Range(Cells(1, LastCol), Cells(1, LastCol)) = Variavel
Range(Cells(2, LastCol), Cells(2, LastCol)) = resposta
Range(Cells(3, LastCol), Cells(3, LastCol)) = Data
Range(Cells(4, LastCol), Cells(4, LastCol)) = lastRow - 21
Range(Cells(5, LastCol), Cells(5, LastCol)) = qtdprodutos
Sheets("Cadastro").Select
lastRow = lastRow
Range("F22", Cells(lastRow, 6)).Copy
Sheets("BDORCAMENTOS").Select
lastRow = lastRow - 21
ActiveCell.Offset(lastRow, 0).Range("A1").Select
ActiveSheet.Paste
Range(Cells(1, LastCol), Cells(5, LastCol)).Select
With Selection
.HorizontalAlignment = xlLeft
End With
Sheets("Cadastro").Select
Application.EnableEvents = True
End If
End Sub
ou seja:
Mudei de
resposta = InputBox("Descrição do Orçamento", "Entrada de Dados")
para
ultimaresposta = Range("A7").Value
resposta = InputBox("Descrição do Orçamento", "Entrada de Dados", ultimaresposta)
Range("A7").Value = resposta
ou seja adicionou a resposta após gravar um orçamento em uma célula (A7) na guia cadastro (pintei de branco para ficar invisivel) e quando for executar da próxima vez ele lê esse dado que ficou armazenado na célula A7 e grava na variável ultimaresposta que é apresentado no imputbox.
Se tiver uma solução que não precise gravar valor na célula ficaria grato pois poderia evitar problemas no futuro..
Abs
Postado : 27/08/2012 10:47 pm