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.