none
Inserir dados na ultima linha vazia RRS feed

  • 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ço

    Private 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 Fim

    If Target.Address <> "$A$2" _
       And Target.Address <> "$B$2" _
          And Target.Address <> "$C$2" Then

          Select 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 Select

    End If

    Fim:
    End Sub

    quarta-feira, 25 de março de 2009 02:16

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
    quinta-feira, 26 de março de 2009 17:51
  •  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
    quinta-feira, 26 de março de 2009 22:46
  • 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 Fim

    If 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" Then

          Select 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 Select

    End If

    Fim:
    End Sub

     

     

     

     

    quarta-feira, 1 de abril de 2009 04:58