Notifications
Clear all

Criar uma nova aba e puxar dados dessa para a principal

6 Posts
3 Usuários
0 Reactions
2,248 Visualizações
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

Olá, boa tarde!

Gostaria de saber se alguém poderia me ajudar..
Seguinte, tenho uma planilha de check-list base e a parte de resultados e a partir do momento que eu quero alimenta-las criar outros check lists e sem que mude da formatação e puxe os valores desse novo check-list, criasse uma nova linha dentro da aba de resultados, abrisse uma nova linha e puxasse os dados desse novo check list conforme é dos check lists base.

Cheguei até a parte que faz tudo, menos na que transfere os resultados pra aba principal.. até consegui mais não veio com fortamatação, nao sou tao boa em vba!
Se vcs puderem me ajudar.. anexei a planilha para que possam entender um pouco melhor.

Private Sub CommandButton1_Click()
'Efetua uma Cópia da Aba de nome "Cafeteria" para o final
Worksheets("Cafeteria").Copy After:=Sheets(Sheets.Count)
Worksheets("Resultado").Select
With Rows(5)
.Insert
Sheets(Sheets.Count).Range("F71").Copy
Sheets("resultado").Activate
Range("D5").Select
ActiveSheet.Paste
End With
Application.CutCopyMode = False
End Sub

 
Postado : 06/10/2017 11:32 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Sinceramente eu não entendi o que você precisa!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 06/10/2017 11:57 am
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

Boa tarde!!

Sinceramente eu não entendi o que você precisa!

Att

Então alexandre, eu preciso criar uma nova aba de acordo com as abas que já tem á, certo? Cafeteria, Copa etc etc...
eu preciso lançar varios check lists de outros andares pra chegar no total de itens avaliados, porntuação e tudo mais..
Ex:
Data Local Pavimento Itens Avaliados Pontuação Máxima Pontuação Registrada Avaliação Inspeção do Dia
21/09/2017 Área de Escritório 16º ANDAR - TORRE LESTE 19 76 64 84,21%
19/09/2017 Área de Escritório 19 º ANDAR - TORRE LESTE 19 76 75 98,68%
14/09/2017 Área de Escritório 20º ANDAR - TORRE OESTE 18 72 72 100,00%

Aí blz. só que criaria abas através do check list principal, sendo assim ficaria "Área de Escritorio (2) ..3.. blabla de acordo com os andares que eu fizer a inspeção.

Só que pra nao ficar preenchendo, eu precisava (como ja criei) ali uma aba que puxasse esse check list e eu só iria preenchendo os numeros, porém na aba de Resultados, já puxasse os itens como data, pavimento, itens avaliados e tudo mais, sem que eu tenha que preencher tudo a mão, entende?

Total itens avaliados: 33
PONTUAÇÃO MÁXIMA 132
PONTUAÇÃO REGISTRADA 130
AVALIAÇÃO DA ÁREA 98,48%

a aba de resultados puxa os dados do check list no final. então eu queria que a acada aba que eu criasse e fosse criada uma nova linha e puxasse esses resultados.
Veja se conseguiu entender um pouco melhor com o print também!

 
Postado : 06/10/2017 12:19 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Pq nao coloca tudo em uma aba e depois filtra se necessario.

Como dizem por aqui separar é mais facil que juntar.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 08/10/2017 7:14 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!

Teste e veja se tem algo que possa aproveitar, pois ainda estou boiando :?

Sub Ainda_Nao_Entendi()
    Application.ScreenUpdating = False
        Worksheets("Cafeteria").Copy After:=Sheets(Sheets.Count)
        Worksheets("Resultado").Select
        Const sFormula1 As String = "='ÁREA DE ESCRITÓRIO'!E1"
        Const sFormula2 As String = "='ÁREA DE ESCRITÓRIO'!B4"
        Const sFormula3 As String = "='ÁREA DE ESCRITÓRIO'!D1"
        Const sFormula4 As String = "='ÁREA DE ESCRITÓRIO'!F56"
        Const sFormula5 As String = "='ÁREA DE ESCRITÓRIO'!F57"
        Const sFormula6 As String = "='ÁREA DE ESCRITÓRIO'!F58"
        Const sFormula7 As String = "=IFERROR((F4/E4),""-"")"
         
        With Worksheets("Resultado")
            With Range("A4:G4")
                .Offset(1).Insert shift:=xlDown
            End With
            .Range("A5").FormulaArray = sFormula1
            .Range("B5").FormulaArray = sFormula2
            .Range("C5").FormulaArray = sFormula3
            .Range("D5").FormulaArray = sFormula4
            .Range("E5").FormulaArray = sFormula5
            .Range("F5").FormulaArray = sFormula6
            .Range("G5").FormulaArray = sFormula7
        End With
        
        Application.CutCopyMode = False
        Worksheets("CAFETERIA (2)").Range("F71").Copy
    Application.ScreenUpdating = True
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 09/10/2017 6:00 am
 fern
(@fern)
Posts: 9
Active Member
Topic starter
 

Bom dia!

Teste e veja se tem algo que possa aproveitar, pois ainda estou boiando :?

Sub Ainda_Nao_Entendi()
    Application.ScreenUpdating = False
        Worksheets("Cafeteria").Copy After:=Sheets(Sheets.Count)
        Worksheets("Resultado").Select
        Const sFormula1 As String = "='ÁREA DE ESCRITÓRIO'!E1"
        Const sFormula2 As String = "='ÁREA DE ESCRITÓRIO'!B4"
        Const sFormula3 As String = "='ÁREA DE ESCRITÓRIO'!D1"
        Const sFormula4 As String = "='ÁREA DE ESCRITÓRIO'!F56"
        Const sFormula5 As String = "='ÁREA DE ESCRITÓRIO'!F57"
        Const sFormula6 As String = "='ÁREA DE ESCRITÓRIO'!F58"
        Const sFormula7 As String = "=IFERROR((F4/E4),""-"")"
         
        With Worksheets("Resultado")
            With Range("A4:G4")
                .Offset(1).Insert shift:=xlDown
            End With
            .Range("A5").FormulaArray = sFormula1
            .Range("B5").FormulaArray = sFormula2
            .Range("C5").FormulaArray = sFormula3
            .Range("D5").FormulaArray = sFormula4
            .Range("E5").FormulaArray = sFormula5
            .Range("F5").FormulaArray = sFormula6
            .Range("G5").FormulaArray = sFormula7
        End With
        
        Application.CutCopyMode = False
        Worksheets("CAFETERIA (2)").Range("F71").Copy
    Application.ScreenUpdating = True
End Sub

Att

Alexandre, mais ou menos isso sim!

Só que por exemplo, como eu crio um botao da cópia da aba da Cafeteria, por exemplo, como faria para puxar os demais check lists que eu for criando?
sem eu ter que mudar na fórmula, gostaria que fosse automatico pra cada check list.. (cafeteria (2)..cafeteria (3) e asim por diante.

'Worksheets("Cafeteria").Copy After:=Sheets(Sheets.Count)
Const sFormula1 As String = "='Cafeteria (2)'!E1"
Const sFormula2 As String = "='Cafeteria (2)'!B4"
Const sFormula3 As String = "='Cafeteria (2)'!D1"
Const sFormula4 As String = "='Cafeteria (2)'!F71"
pq essa fórmula só puxa da (2) e mesmo que abra mais Abas (3), (4) etc..
quero que puxe assim os valores para cada aba criada.

 
Postado : 09/10/2017 8:20 am