Ir para o conteúdo principal

Crie várias pastas e subpastas a partir de uma lista de dados no Excel

Autor: Xiao Yang Última modificação: 2024-03-01

Suponha que você tenha uma lista de nomes de funcionários em um intervalo de planilhas e pretenda criar pastas individuais para cada um armazenar suas informações. A criação manual de cada pasta pode ser demorada. No entanto, existem métodos eficientes para agilizar esse processo. Neste guia, compartilharei várias abordagens para gerar pastas rapidamente com base nos valores de células especificados.

Crie pastas com base nos valores das células

Crie pastas e subpastas com base em valores de células com código VBA


Crie pastas com base nos valores das células

Nesta seção, exploraremos vários métodos em detalhes, oferecendo instruções passo a passo abrangentes para criar pastas com rapidez e facilidade com base em uma lista de valores de células.

Crie pastas de uma lista usando o comando MD e o Bloco de Notas

Transformar uma lista do Excel em pastas usando o comando MD e o Bloco de Notas é um truque inteligente que combina scripts em lote fáceis com a habilidade do Excel para manter as coisas organizadas. Esse método é ótimo para criar muitas pastas rapidamente, sem precisar fazer tudo manualmente. Aqui está um guia passo a passo para realizar esta tarefa:

Etapa 1: use o comando MD para criar fórmulas

Copie ou insira a seguinte fórmula em uma célula em branco próxima ao valor da primeira célula (B1, por exemplo) e arraste a alça de preenchimento para baixo para aplicar a fórmula a todos os itens da lista.

="MD "&A1

Etapa 2: copie e cole as fórmulas em um arquivo do Bloco de Notas

  1. Press Ctrl + C para copiar as células com a fórmula do comando MD.
  2. Abra Bloco de notas e imprensa Ctrl + V para colar os comandos em um novo arquivo.

Etapa 3: salve o arquivo do Bloco de notas como arquivo .bat

Clique Salvar como do Envie o guia no Bloco de Notas, na Salvar como caixa de diálogo, escolha um diretório onde deseja criar várias pastas e, em seguida, dê um nome para esse arquivo com um .bat extensão. Por fim, clique Salvar botão. Veja a imagem:

Etapa 4: clique duas vezes no arquivo .bat para gerar várias pastas

  1. Feche o arquivo do Bloco de Notas, navegue até a pasta onde você salvou anteriormente o arquivo .bat.
  2. Agora, testemunhe a mágica: clique duas vezes no arquivo e você verá várias pastas sendo criadas de uma só vez. Veja a demonstração abaixo:
 

Crie pastas a partir de uma lista usando uma ferramenta poderosa – Kutools para Excel

Com o poderoso Kutools for Excel'S Criar pastas a partir do conteúdo da célula recurso, agora você pode criar pastas de maneira fácil e rápida a partir de uma lista do Excel. Mas isso não se limita apenas às pastas básicas; Kutools também permite criar estruturas complexas com subpastas de vários níveis de uma só vez. Apenas alguns passos simples podem transformar dados do Excel em um sistema de pastas organizado, aumentando significativamente sua produtividade.

Note: Se você quiser usar isso Criar pastas a partir do conteúdo da célula característica, por favor baixe e instale o Kutools para Excel em primeiro lugar.

Depois de instalar Kutools for Excel, Por favor clique Kutools Plus > Importação / Exportação > Criar pastas a partir do conteúdo da célula para abrir o Criar pastas a partir do conteúdo da célula caixa de diálogo:

  1. Selecione os valores das células nos quais deseja criar pastas;
  2. Em seguida, clique no botão botão para especificar a pasta de destino onde deseja salvar as pastas;
  3. Finalmente, clique em OK botão.

Resultado:

O Kutools processará a lista da sua planilha e criará uma pasta para cada entrada no destino especificado. Navegue até a pasta de destino para ver o resultado. Veja a captura de tela:

Dicas:
  1. Este recurso útil também pode ajudar a crie pastas junto com suas subpastas como você precisa. Para fazer isso, você deve inserir os nomes das pastas e subpastas desejadas nas células, usando a barra invertida (\) para separar cada nível. O conteúdo de cada célula servirá de guia para configurar a estrutura desejada de pastas e subpastas.

    Em seguida, aplique o Criar pastas a partir do conteúdo da célula recurso, todas as pastas junto com suas subpastas serão criadas com sucesso. Veja a captura de tela:
  2. Para aplicar este recurso, por favor baixe e instale o Kutools para Excel em primeiro lugar.
 

Crie pastas de uma lista usando código VBA

Usar o código VBA no Excel pode transformar a tediosa tarefa de criar pastas a partir de uma lista em um processo rápido e automatizado. Esta seção mostrará como aplicar o código VBA para gerar pastas.

Passo 1: Abra o editor do módulo VBA e copie o código

  1. Mantenha pressionada a ALT + F11 chaves no Excel, e abre o Microsoft Visual Basic para Aplicações janela.
  2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
    Código VBA: crie pastas com base em uma lista de valores de células
    Sub CreateFoldersFromSelection()
    'Updateby Extendoffice
        Dim FolderPath As String
        Dim Cell As Range
        Dim SelectedRange As Range
        Dim FolderName As String
        On Error Resume Next
        Set SelectedRange = Application.InputBox("Select the range with folder names", "Kutools for Excel", Type:=8)
        If SelectedRange Is Nothing Then Exit Sub
        On Error GoTo 0
        
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "Select the destination Folder"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            FolderPath = .SelectedItems(1) & "\"
        End With
        
        For Each Cell In SelectedRange
            FolderName = FolderPath & Cell.Value
            If Cell.Value <> "" And Not FolderExists(FolderName) Then
                MkDir FolderName
            End If
        Next Cell
    End Sub
    
    Function FolderExists(ByVal Path As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(Path) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

Etapa 2: execute o código

  1. Depois de colar este código, pressione F5 chave para executar este código. Na caixa de prompt, selecione os valores das células a partir dos quais deseja criar pastas. E então, clique OK.
  2. Então, no seguinte Selecione a pasta de destino janela, especifique o caminho de destino para gerar as pastas criadas. E então, clique OK botão, veja a captura de tela:

Resultado:

Depois de executar o código VBA, vá até o diretório de destino para ver o resultado. Lá você encontrará as pastas recém-criadas, cada uma correspondendo a um item da sua lista do Excel. veja a captura de tela:

Dicas:
  1. Se houver entradas duplicadas nas células, a execução do código resultará na criação de apenas uma pasta para essas duplicatas.
  2. Se você usa esse código com frequência, considere salvar sua pasta de trabalho em Pasta de trabalho habilitada para macro do Excel formatar. Esta ação preserva o código dentro da pasta de trabalho, permitindo executá-lo diretamente no futuro, sem a necessidade de reinserir ou reimportar o código.

Crie pastas e subpastas com base em valores de células com código VBA

Ocasionalmente, você pode se encontrar em uma situação em que precisa gerar não apenas pastas, mas também suas subpastas correspondentes, todas com base nos dados das células do Excel. Para realizar esta tarefa, apresentarei aqui um código VBA.

Etapa 1: preparar os dados

Primeiro, você deve inserir os dados conforme a captura de tela mostrada a seguir, colocar os nomes das pastas principais na primeira coluna e os nomes das subpastas na segunda coluna.

Passo 2: Abra o editor do módulo VBA e copie o código

  1. Mantenha pressionada a ALT + F11 chaves no Excel, e abre o Microsoft Visual Basic para Aplicações janela.
  2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
    Código VBA: crie pastas e subpastas com base em valores de células
    Sub CreateFoldersAndSubfoldersWithUserInput()
    'Updateby Extendoffice
        Dim Rng As Range
        Dim Cell As Range
        Dim basePath As String
        Dim fldrPicker As FileDialog
        Dim FolderPath As String, subfolderPath As String
        On Error Resume Next
        Set Rng = Application.InputBox("Select the range of cells (two columns: one is folder column, another s subfolder column):", "Kutools for Excel", Type:=8)
        If Rng Is Nothing Then Exit Sub
        On Error GoTo 0
        Set fldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
        With fldrPicker
            .Title = "Select the Base Folder Path"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            basePath = .SelectedItems(1)
        End With
        If Right(basePath, 1) <> "\" Then basePath = basePath & "\"
        For Each Cell In Rng.Columns(1).Cells
            If Not Cell.Value = "" Then
                FolderPath = basePath & Cell.Value
                If Not FolderExists(FolderPath) Then MkDir FolderPath
                If Not Cell.Offset(0, 1).Value = "" Then
                    subfolderPath = FolderPath & "\" & Cell.Offset(0, 1).Value
                    If Not FolderExists(subfolderPath) Then MkDir subfolderPath
                End If
            End If
        Next Cell
    End Sub
    
    Function FolderExists(FolderPath As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(FolderPath) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

Etapa 3: execute o código

  1. Depois de colar este código, pressione F5 chave para executar este código. Na caixa de prompt, selecione os valores das células a partir dos quais deseja criar pastas. E então, clique OK.
  2. Na janela exibida a seguir, especifique o caminho de destino para gerar as pastas criadas. E então, clique OK botão, veja a captura de tela:

Resultado:

Após executar o código VBA, vá para o diretório de destino para visualizar o resultado. Você descobrirá que as pastas e suas respectivas subpastas, conforme ditado pelos valores das células, foram criadas com sucesso conforme a captura de tela mostrada a seguir:

Dicas:
  1. Este código está disponível apenas para criar apenas as pastas principais e suas subpastas de primeiro nível.
  2. Se você usa esse código com frequência, considere salvar sua pasta de trabalho em Pasta de trabalho habilitada para macro do Excel formatar. Esta ação preserva o código dentro da pasta de trabalho, permitindo executá-lo diretamente no futuro, sem a necessidade de reinserir ou reimportar o código.

Artigos relacionados:

  • Liste todas as pastas e subpastas no Excel
  • Você já sofreu com esse problema de listar todas as pastas e subpastas de um diretório especificado em uma planilha? No Excel, não existe uma maneira rápida e prática de obter o nome de todas as pastas em um diretório específico de uma só vez. Para lidar com a tarefa, este artigo pode ajudá-lo.
  • Copie ou mova arquivos de uma pasta para outra com base em uma lista
  • Se você tiver uma lista de nomes de arquivo em uma coluna em uma planilha, e os arquivos forem localizados em uma pasta em seu computador. Mas, agora, você precisa mover ou copiar esses arquivos cujos nomes estão listados na planilha de sua pasta original para outra como mostrado a seguir. Como você poderia terminar essa tarefa o mais rápido possível no Excel?
  • Renomeie vários arquivos de uma pasta
  • Pode ser que a maioria de nós sofra com este problema que precisamos renomear vários arquivos em uma pasta, renomear os nomes de arquivos um por um vai nos deixar loucos se houver centenas ou milhares de arquivos nessa pasta. Existem boas funções para lidarmos com essa tarefa?