sábado, maio 14, 2005

Transferência de dados para outra planilha

"Basta sermos simples para sermos ricos em nossos atos!" (E.S.P.)
----------

Private Sub Worksheet_Change(ByVal Target As Range)
'
'Autor: Eneias dos Santos Pedroso
'
If Target.Row = 1 Or Target.Row = 2 Then Exit Sub

For j = 0 To 4997
If Target.Column = 14 Then
If Worksheets(2).Cells(j + 4, 1) = "" Then
Worksheets(2).Cells(j + 4, 1) = Cells(Target.Row, Target.Column - 13)
Worksheets(2).Cells(j + 4, 2) = Cells(Target.Row, Target.Column - 12)
Worksheets(2).Cells(j + 4, 3) = Cells(Target.Row, Target.Column - 11)
Worksheets(2).Cells(j + 4, 4) = Cells(Target.Row, Target.Column - 10)
Worksheets(2).Cells(j + 4, 5) = Cells(Target.Row, Target.Column - 9)
Worksheets(2).Cells(j + 4, 6) = Cells(Target.Row, Target.Column - 8)
Worksheets(2).Cells(j + 4, 7) = Cells(Target.Row, Target.Column - 7)
Worksheets(2).Cells(j + 4, 8) = Cells(Target.Row, Target.Column - 6)
Worksheets(2).Cells(j + 4, 9) = Cells(Target.Row, Target.Column - 5)
Worksheets(2).Cells(j + 4, 10) = Cells(Target.Row, Target.Column - 4)
Worksheets(2).Cells(j + 4, 11) = Cells(Target.Row, Target.Column - 3)
Worksheets(2).Cells(j + 4, 12) = Cells(Target.Row, Target.Column - 2)
Worksheets(2).Cells(j + 4, 13) = Cells(Target.Row, Target.Column - 1)
Worksheets(2).Cells(j + 4, 14) = Cells(Target.Row, Target.Column)
Exit For
End If: End If: Next j

End Sub

----------
Maiores esclarecimentos, acesse o link que está no título deste post !

3 comentários:

Anônimo disse...

Sr. Enéias, parabéns pela sua iniciativa do conteúdo de sua página.
-Aproveitando, se puder me ajudar
agradeço.
-há uma macro com um(1) botão que
copie dados de outra planilha dentro da mesma pasta?
exemplo:
2005( é arquivo)

JANEIRO(pasta) FEVEREIRO
Copel(planilha) Copel
célula A1, K33===> célula A1,K33

ou seja colar os dados de K33(janeiro, Copel), em K33(fevereiro,Copel).
o caminho é C:Meus docs\2005\janeiro

- se puder me ajudar .

Eneias disse...

Use este código:
_________________

Sub Transferência()
Dim WkReg, WkDados As Workbook
Set WkReg = ThisWorkbook
Set WkDados = Workbooks("Janeiro.xls")
For j = 1 To 33: For k = 1 To 11
WkReg.Worksheets("Copel").Cells(j, k) = WkDados.Worksheets("Copel").Cells(j, k)
Next k: Next j
End Sub

Private Sub Workbook_Open()
Dim Reponse As Integer
Reponse = MsgBox("Importar dados da planilha 'Janeiro'?", vbYesNo)
If Reponse = vbYes Then
Call Transferência
End If
End Sub
_________________

Eneias Pedroso

Paloma disse...

Sr Enéas, bom dia!

Preciso de sua ajuda, tenho uma planilha onde relaciono os contatos que faço com os meus clientes, onde as colunas são preenchidas com informações como nome, tel., feedback, etc. Nessa coluna de feedback criei uma combobox para limitar as minhas opções a critérios como "retornar ligação", "agendado" e alguns outros, ocorre que eu criei uma planilha para cada dia e, alguns dos contatos ficam pendentes para retornar a ligação no dia seguinte, gostaria de saber como faço para a linha que contiver a informação "retornar a ligação" vá automaticamente para o próximo dia.
Imensamente agradecido,
Léo