Jump to content

Seleccionar a folha actual do excel


Recommended Posts

olá pessoal,

estou com uma pequena duvida para criar nova folha...

imaginem que tenho as seguintes folha: x1,x2,x3,z1,z2,z3,y1,y2,y3

sempre que atingo o "limite" de uma preciso de iniciar outra e copiar determinados dados para a nova... O problema é que quando quero criar a x4 pretendo que fique antes da z1... a z4 antes da y1 e a y4 no final.

Criei butões de opção X Y e Z

Com o código que criei o programa copia-me as folhas todas :S... será que me podiam ajudar?

Aqui fica o código

Private Sub CommandButton1_Click()

If OptionButton1 = Enabled Then

Sheets(" X2").Select

ActiveSheet.GroupBoxes.Add(1131, 601.5, 44.25, 66.75).Select

    ActiveSheet.GroupBoxes.Add(1181.25, 601.5, 65.25, 32.25).Select

    ActiveSheet.GroupBoxes.Add(1250.25, 601.5, 30.75, 32.25).Select

    Sheets.Copy Before:=Sheets("z1")

   

    ElseIf OptionButton2 = Enabled Then

    Sheets("x2").Select

    ActiveSheet.GroupBoxes.Add(1131, 601.5, 44.25, 66.75).Select

    ActiveSheet.GroupBoxes.Add(1181.25, 601.5, 65.25, 32.25).Select

    ActiveSheet.GroupBoxes.Add(1250.25, 601.5, 30.75, 32.25).Select

    Sheets.Copy Before:=Sheets("y1")

   

    Else

   

    Sheets(" x2").Select

    Sheets.Copy After:=Sheets

   

    End If

   

End Sub

Private Sub OptionButton1_Click()

   

   

End Sub

Private Sub OptionButton2_Click()

End Sub

Private Sub OptionButton3_Click()

End Sub

Link to comment
Share on other sites

Obteve alguns resultado???

Tive outra ideia pra vc...  faça uma verificação com o comando plan1.name, caso ele seja y1, pede para inserir a nova planilha naquele ponto.

Ve se isso te ajuda...  caso precise de ajuda com a codificaçaõ.. de um toque!

flw

Link to comment
Share on other sites

Olá, obrigado pela resposta.

Não percebi a parte de fazer um array para comparar com o nome das planilhas... isso vai resultar em quê?

Como faço a verificação?

Eu não percebo grande coisa disto... O que fiz foi através de macros, que depois copiei o código e fui alterando.

Link to comment
Share on other sites

Aqui fica o link do arquivo http://rapidshare.com/files/385419648/Novo_Folha_de_C__lculo_do_Microsoft_Office_Excel2.xlsm.html

Acho que agora vai ficar mais fácil perceber.

Existem 3 tipos de planilhas SPC 0,6 -- SPC 1,8 -- SPC 5,0 que eu vou precisando de acrescentar quando ficam completas, sendo que depois terei SPC 0,6 (1), SPC 0,6 (2) e assim sucessivamente.

Com a introdução de VBA o processo não será muito mais simples... so o tentei fazer por interesse neste tipo de linguagem, por isso se achar que é um pouco complexo não há qualquer problema em abandonar a ideia... De qualquer das formas obrigado por tentar ajudar 🙂

Abraço

Pedro

Link to comment
Share on other sites

Existem planilhas que estão ocultas...  elas sempre permanecerão ocultas???  a visualização sempre começara da SPC 1,8(2)???  como é que vai funcionar isso??  Dá para ser feito em VBA sim, apenas preciso definir essas coisas, para que possa acertar a codificação para o planilha.

Aguardo Retorno.

Link to comment
Share on other sites

Kra... desculpe a demora com a resposta... mas o estou com muito serviço, porém parece que consegui uma codificação para vc, porém como estou usando office 2k3 e o seu arquivo é 2k7, tive problemas com a conversão, o que não me permitiu ver todas as funções da sua planilha.

Porém eu adaptei o código, e creio que vc poderá adaptá0lo tb, para seu uso.  Esse código que estou passando vai diretamente no módulo 1 e vc pode chamar ele através de um botão, porém pode ser mudado isso.  Nesse modelo que te mando, ele chama um inputbox na qual vc descreve o começo  do nome da planilha.  Não coloquei nenhuma segurança, caso o nome venha a ser escrito errado, mas pelo que vi, vc vai querer chamar através de optionbox, o que no caso, esse tipo de redundância, não fará a menor diferença.  bom aí vai:

Public Sub GerarPlan()

'declara variáveis
Dim X, Y, Z
Dim Tabela
Dim TabelaCompleta As Variant
Dim NomePlan

'carrega var com a quantidade de plan existentes no livro
Z = ActiveWorkbook.Sheets.Count

'carrega inputbox para obter nome da plan
Tabela = InputBox("Digite o nome da planilha." & vbCr _
& "O nome da planilha de seguir os seguintes modelos:" & vbCr _
& "SPC 1,8" & vbCr _
& "SPC 5,0" & vbCr _
& "SPC 0,6", "Teste")

'define valores das var
X = 1
Y = 1

'Cria o nome completo da plan e será usado para acrescentar a nova plan
TabelaCompleta = Tabela + " " + "(" + CStr(X) + ")"

'nome da plan atual / existente
NomePlan = Worksheets(Y).Name

'loop para criação
Do

'usado para acertar o posicionamento no nome atual com a plan igual, devido a ter plan com
'nomes diferentes anteriomente a que é necessário o uso
    If NomePlan = TabelaCompleta Then
    
        Do
'somente vai criar, caso a plan atual seja diferente do que é desejado        
            If TabelaCompleta <> NomePlan Then
                Worksheets(Y).Select
                Worksheets.Add
                Worksheets(Y).Name = TabelaCompleta
                Exit Do
            Else
'soma var para o loop
                X = X + 1
                Y = Y + 1
'se a var de calculo da plan for maior que o némuro existente, vai criar a última plan e move-la
'para a posição final, saindo do loop
                If Y > Z Then
                    Worksheets(Y - 1).Select
                    Worksheets.Add
                    Worksheets(Y - 1).Name = Tabela + " " + "(" + CStr(X) + ")"
                    Worksheets(Y - 1).Move after:=Worksheets(Y)
                    Exit Do
                Else
'caso não, continua processo normalmente
                    NomePlan = Worksheets(Y).Name
                End If
                TabelaCompleta = Tabela + " " + "(" + CStr(X) + ")"
            End If
        Loop
        Exit Do
    Else
        Y = Y + 1
        NomePlan = Worksheets(Y).Name
    End If
Loop
End Sub

Creio que isso seja o que está querendo, e espero ter ajudado...  Qualquer coisa é só falar.

E mais uma vez, desculpe pela demora!

Flw!!  😄

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.