Notifications
Clear all

Busca copia e cola

4 Posts
2 Usuários
0 Reactions
1,125 Visualizações
(@lecustodio)
Posts: 14
Eminent Member
Topic starter
 

Boa tarde,

Pessoal preciso de uma ajuda de vocês, já tentei de muitas formas, mas estou tendo problema numa planilha de controle.
A planilha funciona da seguinte maneira:

tenho diversas sheets, mas irei listar só as que fazem parte do sistema de controle

Sheet "RDO" e Sheet "01."
Essuas duas sheets devem conversar diretamente, sendo que a sheet RDO, terei uma variação de quantidade, ou seja partirei de 18 (pode ser que tenha q aumenta essa quantidade) RDO nomeada da seguinte maneira "RDO-01; RDO-02; RDO-03....." já as sheets numeradas, são numerdas de "01. a 27."

necessito que quando seja lançando algum item na sheet "RDO" ela vá diretamente para a sheet "01." por exemplo.
Como estou fazendo esse filtro de qual pasta o item deve ser lançando ?
Dentro da planilha numérica, tenho duas celulas que são de acordo com meu orçamento, por exemplo no RDO vou lançar: "OH01.01.01", então tudo que eu lançar no RDO como OH01. deverá alguns campos irem para a pasta "01."
Outro Problema, é que o arquivo quando está com todas as sheets e dados está ficando muito grande, caso alguem tenha alguma sugestão para optimizar o tamanho da planilha tbm será muito bem vinda ! :D

Se alguem poder me dar essa luz ficarei muito grato !!!

Segue a planilha em anexo para melhor entendimento

 
Postado : 13/05/2013 2:53 pm
(@lecustodio)
Posts: 14
Eminent Member
Topic starter
 

Bom, como tem muitos que não podem ou não conseguem fazer o download da planilha, segue aqui o codigo que estou na luta para ajustar conforme a necessidade que disse...

Option Explicit
Dim g, p As Variant
Dim sh As Worksheet
Dim shName, shRdo, busca, busca2, firstaddress, resultado, pasta As String

Sub Atualiza()


Dim linha, UltimaLinha, UltimaLinha1, COLUNA, lastRow, lastRow1 As Integer, lResult, cResult, i As Long
Dim Valores As String
Dim c As Object

linha = 6
COLUNA = 2
linhaRl = 10

shRdo = ActiveSheet.Name

For Each sh In Worksheets
                p = "."
        If Right(sh.Name, 1) = p Then

shName = sh.Name

busca = Sheets(shName).Cells(linha, 1)
busca2 = Sheets(shName).Cells(linha - 1, 1) & busca ' Busca Concatenada
lastRow = Sheets(shName).Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1

        With Worksheets(shRdo).Range("B5:B65000") 'aqui não teria precisão da quantidade de linhas, pois o usuário poderia inserir linhas
            Set c = .Find(what:=busca2, LookIn:=xlValues, SearchOrder:=xlByRows)
            If Not c Is Nothing Then
                    firstaddress = c.Address
                    resultado = c
                    cResult = c.Column
                    lResult = c.Row
                Do
                   
                    With Sheets(shName)
                        .Cells(lastRow, 1) = resultado
                        .Cells(lastRow, 2) = Sheets(shRdo).Cells(lResult, cResult + 4)
                        .Cells(lastRow, 3) = Sheets(shRdo).Cells(lResult, cResult + 3)
                        .Cells(lastRow, 4) = Sheets(shRdo).Cells(lResult, cResult + 8)
                        .Cells(lastRow, 5) = Sheets(shRdo).Cells(lResult, cResult + 7)
                        .Cells(lastRow, 6) = CDbl(Sheets(shRdo).Cells(lResult, cResult + 7)) + CDbl(Sheets(shRdo).Cells(lResult, cResult + 8))
                        .Cells(lastRow, 7).Value = shRdo
                    End With
                    Set c = .FindNext(c)
                    cResult = c.Column
                    lResult = c.Row                  
                    busca = ""
                    busca2 = ""
                Loop While Not c Is Nothing And c.Address <> firstaddress
            End If
        End With
      
         End If
 Next
 
 Set c = Nothing
        
        


End Sub
 
Postado : 14/05/2013 10:52 am
(@lecustodio)
Posts: 14
Eminent Member
Topic starter
 

Consegui resolver aqui pessoal !!

Agradeço a todos !!

 
Postado : 14/05/2013 12:53 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Obrigado por retorna e com a solução!!

Lembre se de marca as postagem como resolvida!!
viewtopic.php?f=7&t=3784

Att

 
Postado : 14/05/2013 4:14 pm