Notifications
Clear all

Lançar em sheets específicas

11 Posts
2 Usuários
0 Reactions
1,635 Visualizações
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa noite
Estou com um problema, necessitava que o ufm_paroquiano lança-se o novo paroquiano nas sheets "Paroquianos", "Dados_Preencher" e "Modelo" que jálança, assim com em todas as sheets com os respetivos anos e sempre que cria-se uma novo ano ele iria lançar aí também, alguém me pode ajudar. Obrigado.
Grato desde já, (Para retornart ao excel ADM e 1234).
Abr.,
RM

 
Postado : 29/01/2018 5:25 pm
(@klarc28)
Posts: 971
Prominent Member
 
Option Explicit

Sub teste()


'este código percorre todas as planilhas
'cujo nome começa com "20"
'espero que consiga adaptar para a sua necessidade

Dim plan As Object
For Each plan In ThisWorkbook.Sheets

If Left(plan.Name, 2) = "20" Then

'aqui você pode colocar o código para cadastrar
'para pegar o nome da planilha que vai cadastrar,
'utilize plan.name
'exemplo: sheets(plan.name).range("A1").value = me.textbox1.text
'acho que já está bem mastigadinho e que você consegue fazer
End If

Next plan

End Sub
 
Postado : 29/01/2018 6:06 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Sim já tem anos de 2015 a 2023, ora queria lançar nestes, assim como, num ano novo que cria-se, só o nome na primeira coluna, e isto para simplificar o código e não ficar pesado.
Será possível

 
Postado : 29/01/2018 6:16 pm
(@klarc28)
Posts: 971
Prominent Member
 
Option Explicit

Sub teste()


'este código percorre todas as planilhas
'cujo nome começa com "20"
'espero que consiga adaptar para a sua necessidade

Dim plan As Object
For Each plan In ThisWorkbook.Sheets

If Left(plan.Name, 2) = "20" Then

'aqui você pode colocar o código para cadastrar
'para pegar o nome da planilha que vai cadastrar,
'utilize plan.name
'exemplo: sheets(plan.name).range("A1").value = me.textbox1.text
'acho que já está bem mastigadinho e que você consegue fazer
End If

Next plan

End Sub
 
Postado : 29/01/2018 6:25 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Sim isso consigo fazer, mas se criar um novo ano já não vai inscrever nesse ano, tenho que ir ao vba e acrescentar, eu queria era uma outra forma de fazer isso. Grato

 
Postado : 29/01/2018 6:28 pm
(@klarc28)
Posts: 971
Prominent Member
 
Option Explicit

Sub teste()

'este código percorre todas as planilhas
'cujo nome começa com "20"
'espero que consiga adaptar para a sua necessidade

Dim plan As Object
For Each plan In ThisWorkbook.Sheets

If Left(plan.Name, 2) = "20" Then

'aqui você pode colocar o código para cadastrar
'para pegar o nome da planilha que vai cadastrar,
'utilize plan.name
'exemplo: sheets(plan.name).range("A1").value = me.textbox1.text
'acho que já está bem mastigadinho e que você consegue fazer
End If

Next plan

End Sub
 
Postado : 29/01/2018 6:46 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boas Klarc28
Não está a dar, dá erro.
Att.,
RM

 
Postado : 30/01/2018 4:18 pm
(@klarc28)
Posts: 971
Prominent Member
 

Envie o código que contém o erro e explique qual é o erro.

 
Postado : 30/01/2018 8:27 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa noite
Dá erro no sublinhado, grato.
Att.,
RM

Option Explicit
Sub teste()
Dim plan As Object
Dim UltimaLinhaRow As Long
For Each plan In ThisWorkbook.Sheets
If Left(plan.Name, 2) = "20" Then
ThisWorkbook.Worksheets(plan.Name).Activate
UltimaLinhaRow = Cells(Rows.Count, 1).End(xlUp).Row
Cells(UltimaLinhaRow + 1, 1) = Me.txt_paroquiano_Add.Text
Cells(UltimaLinhaRow + 1, 2) = Me.TextBox3.Text
End If
Next plan
End Sub
 
Postado : 31/01/2018 5:20 pm
(@klarc28)
Posts: 971
Prominent Member
 

Quando for colocar código neste fórum, clique no botão Code.
No lugar de Me, coloque o nome do Userform em que está a caixa de texto.

 
Postado : 31/01/2018 5:31 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Fantástico Klarc28, ás vezes as coisas mais evidentes escapam na nossa perceção, obrigado.

 
Postado : 31/01/2018 5:46 pm