VBA Adicionar nova planilha - nome, antes / depois e mais exemplos

Este tutorial irá discutir como adicionar / inserir planilhas usando VBA.

Adicionar Folha

Esta macro simples adicionará uma planilha antes da ActiveSheet:

123 Sub Adicionar ()Sheets.AddEnd Sub

Após inserir uma Planilha, a nova Planilha torna-se a ActiveSheet. Você pode então usar o objeto ActiveSheet para trabalhar com a nova planilha (no final deste artigo mostraremos como inserir uma nova planilha diretamente em uma variável).

1 ActiveSheet.Name = "NewSheet"

Adicionar folha com nome

Você também pode definir um nome de planilha ao criar a nova planilha:

1 Sheets.Add.Name = "NewSheet"

Criar nova planilha com nome de uma célula

Ou use um valor de célula para nomear uma nova planilha:

1 Sheets.Add.Name = range ("a3"). Value

Adicionar folha antes / depois de outra folha

Você também pode escolher o local onde a nova planilha será inserida. Você pode usar as propriedades Depois ou Antes para inserir uma planilha em um local específico na pasta de trabalho.

Inserir folha após outra folha

Este código irá inserir a nova planilha DEPOIS de outra planilha:

1 Sheets.Add After: = Sheets ("Input")

Isso irá inserir uma nova folha DEPOIS de outra folha e especificar o nome da folha:

1 Sheets.Add (After: = Sheets ("Input")). Name = "NewSheet"

Observe o parêntese extra necessário no segundo exemplo (o primeiro exemplo irá gerar um erro se o segundo parêntese for adicionado).

ou antes:

1 Sheets.Add (Before: = Sheets ("Input")). Name = "NewSheet"

Nestes exemplos, nomeamos explicitamente a Folha usada para determinar a localização da folha. Freqüentemente, você desejará usar o número do índice da planilha, para que possa inserir a planilha no início ou no final da pasta de trabalho:

Adicionar folha ao final da pasta de trabalho

Para adicionar uma planilha ao final da pasta de trabalho:

1 Sheets.Add After: = Sheets (Sheets.Count)

Adicionar planilha ao início da pasta de trabalho:

Para adicionar uma planilha ao início da pasta de trabalho:

1 Sheets.Add (Before: = Sheets (1)). Name = "FirstSheet"

Adicionar folha à variável

Este código atribui a nova planilha a uma variável conforme a planilha é criada:

12 Dim ws como planilhaDefinir ws = Sheets.Add

A partir daqui, você pode fazer referência à nova planilha com a variável 'ws':

1 ws.name = "VarSheet"

Mais Adicionar Exemplos de Folha

Criar planilha se ainda não existir

Você pode criar uma planilha apenas se ela ainda não existir.

Criar planilhas da lista de nomes

A rotina a seguir examinará o conteúdo de uma única coluna configurada nas planilhas do Excel na pasta de trabalho atual com esses nomes. Ele faz uma chamada para outra função para ver se uma planilha com esse nome já existe e, se sim, a planilha não foi criada.

1234567891011121314151617181920212223242526 Private Sub CommandButton1_Click ()Chame CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))End SubSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added como inteiroDim Sheet_Name As StringDim i As IntegerNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountPara i = 1 para No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1) .Value'Apenas adicione a folha se ela ainda não existir e o nome tiver mais de zero caracteresIf (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name "") ThenWorksheets.Add (). Name = Sheet_NameFim seProximo euEnd Sub
1234567891011121314 Função Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet As WorksheetSheet_Exists = FalsePara Cada Folha de Trabalho Neste Livro de Trabalho. Folhas de TrabalhoIf Work_sheet.Name = WorkSheet_Name ThenSheet_Exists = TrueFim sePróximoFunção Final

Portanto, se tivermos o seguinte texto nas células A1: A30 na planilha 2:

Em seguida, as seguintes planilhas serão criadas:

Observe que, embora “Cachorro” apareça duas vezes, apenas uma folha é criada.

Para baixar o arquivo .XLS para este tutorial, clique aqui.

wave wave wave wave wave