Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
FSoares.FCS

Excel Como localizar uma planilha em uma pasta de trabalho

Recommended Posts

Bom dia,

        Estou iniciando no excel VBA e estou precisando criar um marco onde possa procurar uma planilha (aba) dentro de uma pasta de trabalho ativa, tenho uma planilha (aba) com o nome de "Centro de Custo" onde tem vários centro de custo na coluna "C", a partir dai preciso procurar se o conteúdo da célula "C2", tem alguma planilha com o mesmo nome caso tenha, passe para linha de baixo indo até o final, caso não inclua uma nova planilha (aba) e altere o nome.

  C.Custo

1.1.0.101

1.2.0.101

1.3.0.101

2.1.0.101

2.1.0.201

2.1.0.202

2.1.0.203

2.1.0.204

Fico muito agradecido pela ajuda.

Que Deus abençoe.

image.thumb.png.9ad54c5317d43bf9d7611bff115dbc24.png

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi o que pretende, mas a explicação ficou confusa.

As pastas de trabalho com o nome centro de custo Existe ou nao?

Se existir o que deve ser feito?

 

Se nao existir o que deve ser feito?

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@FSoares.FCS , boa noite.

 

Faça um teste numa cópia de seu workbook:

 

Sub CriarCCusto()
  Dim wsCC As Worksheet, ws As Worksheet, rg As Range, i As Integer
  Dim ListaCriadas As String
  With ThisWorkbook
   Set wsCC = .Worksheets("Centro de Custo")
   Set rg = wsCC.Range("C2", wsCC.Range("C1").End(xlDown))
   For i = 1 To rg.Cells.Count
     On Error Resume Next
       Set ws = .Worksheets(rg.Cells(i).Value)
       If Err.Number = 9 Then
         If i = 1 Then
           .Worksheets.Add(After:=wsCC).Name = rg.Cells(i).Value
           ListaCriadas = rg.Cells(i).Value
         Else
           .Worksheets.Add(After:=.Worksheets(rg.Cells(i - 1).Value)).Name = rg.Cells(i).Value
           ListaCriadas = ListaCriadas & vbCrLf & rg.Cells(i).Value
         End If
       ElseIf Err.Number > 0 Then
         Exit Sub
       End If
     On Error GoTo 0
   Next i
  End With
  If ListaCriadas <> vbNullString Then MsgBox "Criada(s) a(s) Planilha(s):" & vbCrLf & ListaCriadas, vbInformation, "LISTA DE CC CRIADOS"
  Set rg = Nothing: Set wsCC = Nothing: Set ws = Nothing
End Sub

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 18/06/2018 às 19:50, CasaDoHardware disse:

Entendi o que pretende, mas a explicação ficou confusa.

As pastas de trabalho com o nome centro de custo Existe ou nao?

Se existir o que deve ser feito?

 

Se nao existir o que deve ser feito?

Bom dia,

Se existir o que deve ser feito?

se na coluna C da planilha C.Custo as celulas e tiverem com planilhas criadas, não faz nada, só coloca uma msgbox "Existe todas planilhas"

Se nao existir o que deve ser feito?

não existindo pegar a celula na coluna C da planilha C.Custo e cira uma nova planilha com o nome da celula

 

Grato pela sua resposta.

adicionado 1 minuto depois
Em 18/06/2018 às 21:13, Edson Luiz Branco disse:

@FSoares.FCS , boa noite.

 

Faça um teste numa cópia de seu workbook:

 


Sub CriarCCusto()
  Dim wsCC As Worksheet, ws As Worksheet, rg As Range, i As Integer
  Dim ListaCriadas As String
  With ThisWorkbook
   Set wsCC = .Worksheets("Centro de Custo")
   Set rg = wsCC.Range("C2", wsCC.Range("C1").End(xlDown))
   For i = 1 To rg.Cells.Count
     On Error Resume Next
       Set ws = .Worksheets(rg.Cells(i).Value)
       If Err.Number = 9 Then
         If i = 1 Then
           .Worksheets.Add(After:=wsCC).Name = rg.Cells(i).Value
           ListaCriadas = rg.Cells(i).Value
         Else
           .Worksheets.Add(After:=.Worksheets(rg.Cells(i - 1).Value)).Name = rg.Cells(i).Value
           ListaCriadas = ListaCriadas & vbCrLf & rg.Cells(i).Value
         End If
       ElseIf Err.Number > 0 Then
         Exit Sub
       End If
     On Error GoTo 0
   Next i
  End With
  If ListaCriadas <> vbNullString Then MsgBox "Criada(s) a(s) Planilha(s):" & vbCrLf & ListaCriadas, vbInformation, "LISTA DE CC CRIADOS"
  Set rg = Nothing: Set wsCC = Nothing: Set ws = Nothing
End Sub

 

Bom dia obrigado pela resposta, vai ajudar muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×