Inquiridor
Inserir dados na ultima linha vazia

Pergunta
-
Encontrei o codigo abaixo na net, ele funciona perfeitamente, porém o que necessito é:
ingressar dados a partir da coluna B linha 9 até a coluna K linha 9.
Na celula A será digitado um código e as celulas B a F, será preencida por uma formula que busca os dados do códig.
Da coluna G a K receberá valores e poderá ter campo vazio.
alguém pode me ajudar com este código?
desde já agradeçoPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Linhas As Long
Dim i As Integer
Dim Fim As Label'Resultado da CheckBox para interrupção de entrada
'de valores e leitura da Lista
If Range("M1").Text <> "VERDADEIRO" Then GoTo FimIf Target.Address <> "$A$2" _
And Target.Address <> "$B$2" _
And Target.Address <> "$C$2" ThenSelect Case Target.Column
Case 1 ' Coluna A
Range("B2").Select
Case 2 ' Coluna B
Range("C2").Select
Case 3 'Coluna C
Range("A2").Select
If Range("$A$2").Text <> "" _
And Range("$B$2").Text <> "" _
And Range("$C$2").Text <> "" Then
Set c1 = Worksheets("Lista").Range("$A$4")
Set c2 = Worksheets("Lista").Range("$A$2")
Linhas = Application.WorksheetFunction.CountA(Sheets("Lista").Range("$A$4:$A$35000"))
For i = 0 To 2
c1.Offset(Linhas, i).Value = c2.Offset(0, i).Text
Next i
Range("A2:C2").Value = ""
End If
Case Else
Range("A2").Select
End SelectEnd If
Fim:
End Sub
Todas as Respostas
-
bom eu utilizado um codigo para pegar qual é a ultima linha preenchida..é o seguinte
declaro uma variavel
Dim ColA As Integer
Depois preencho essa variavel com a ultima linha preenchida do range exemplo:
ColA = Range("IR10000").End(xlDown).Row
ai eu utilizo a variavel ColA na minha continha para inserir na proxima linha!
Abraços
Edgar Esteves - www.localdosuporte.com.br -
Oi Edgar, vou me explicar melhor
os dados serão digitados na coluna/A2 e nas G2 a L2, as colunas/linha B2 a K2 serão preenchidos por um procv, desta forma o código deve fazer o seguinte.
Após Marcado o Check Box.
Colocar o Cursor na celula A2
após o usuário ingressar código e pressionar enter, focar a celula G2, <enter a celula H2 e assim por diante até a celula L2
após enter na celula L2, copiar os valores para a ulitma linha vazia e linpar as celulas A2, e as G2 a L2. e voltar o foco para a linha A2
se voce puder me ajudar agradeço -
Quase resolvido, somente não estou conseguindo que a digitar enter na celula g2 a celula celecionada seja a h2 e assim por diante.
O range somente muda da g2 para a h2 e assim por diante, se deixar o código como está, já tentei manter o Target.Adress da celulas C,D,E. e apagar a linha do código Range Select destas celulas e não funcionou, depois de enter a celula selecionada é a A.
Tentei apagar também o Target.adress e o Range select desta celulas e não fucionou.
Espero que alguém possa me ajudar!!!!!
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Linhas As Long
Dim i As Integer
Dim Fim As Label'de valores e leitura da Lista
If Range("M1").Text <> "VERDADEIRO" Then GoTo FimIf Target.Address <> "$A$2" _
And Target.Address <> "$B$2" _
And Target.Address <> "$C$2" _
And Target.Address <> "$D$2" _
And Target.Address <> "$E$2" _
And Target.Address <> "$F$2" _
And Target.Address <> "$G$2" _
And Target.Address <> "$H$2" _
And Target.Address <> "$I$2" _
And Target.Address <> "$J$2" _
And Target.Address <> "$K$2" ThenSelect Case Target.Column
Case 1
Range("B2").Select
Case 2
Range("C2").Select
Case 3
Range("D2").Select
Case 4
Range("E2").Select
Case 5
Range("F2").Select
Case 6
Range("G2").Select
Case 7
Range("H2").Select
Case 8
Range("I2").Select
Case 9
Range("J2").Select
Case 10
Range("K2").Select
Case 11
Range("B2").Select
If Range("$L$2").Text <> "0" Then
Set c1 = Worksheets("Lista").Range("$A$9")
Set c2 = Worksheets("Lista").Range("$A$2")
Linhas = Application.WorksheetFunction.CountA(Sheets("Lista").Range("$A$9:$A$65000"))
For i = 0 To 10
c1.Offset(Linhas, i).Value = c2.Offset(0, i).Text
Next i
Range("B2,G2,H2,J2,I2,K2").Value = ""
End If
Case Else
Range("A2").Select
End SelectEnd If
Fim:
End Sub