Cella ecxelCartella



  • Cella ecxel-Cartella
    di egly87 data: 16/01/2018 17:16:53

    Ciao a tutti volevo chiedervi se esiste un modo per far si che tipo 300 celle di una colonna di un file excel si possono trasformare in cartelle vuote in locale con il nome delle celle?



  • di alfrimpa data: 16/01/2018 17:22:14

    Scusa ma dalla domanda non è che si capisca molto.

    Tu hai in colonna A 300 nomi e vuoi creare 300 file denominati con i 300 nomi?

    Alfredo





  • di egly87 data: 16/01/2018 17:25:36

    Si, praticamente voglio creare 300 cartelle vuote denominate come le 300 celle di una colonna.
    Non so se esiste un modo per farlo...



  • di cromagno data: 17/01/2018 01:22:51

    Ciao a tutti,

    questo può essere un modo:
     
    Option Explicit
    
    Sub CreaFile()
        Dim i As Integer
        Dim Percorso As String
        Dim NomeFile As String, ValCella As String
        Dim Esiste As String
        Dim Indice As Integer
        
        Percorso = "D:File Creati"    '<<<< Da modificare col percorso desiderato
        For i = 1 To 300
            If Range("A" & i).Value <> "" Then
                ValCella = Range("A" & i).Value
                NomeFile = Percorso & ValCella & ".xlsx"
                Esiste = Dir(NomeFile)
                Workbooks.Add
                If Esiste = "" Then
                    ActiveWorkbook.SaveAs Filename:=NomeFile
                Else
                    Indice = Indice + 1
                    NomeFile = Percorso & ValCella & " (" & Indice & ").xlsx"
                    ActiveWorkbook.SaveAs Filename:=NomeFile
                End If
                ActiveWorkbook.Close (True)
            End If
        Next i
    End Sub
    



  • di Luca73 data: 17/01/2018 08:58:26

    Domanda:
    ma per cartella intendi file excel oppure folder?
    Ciao
    Luca






  • di egly87 data: 17/01/2018 10:14:13

    Intendevo folder.
    Sono riuscito a farlo con il software Matlab ma mi interessava farlo anche con VBA.
    Ringrazio anticipatamente



  • di Luca73 data: 17/01/2018 11:53:25

    Ecco in allegato la modifica per creare folder.
    Ciao
    Luca
     
    Sub CreaFile()
        Dim i As Integer
        Dim Percorso As String
        Dim NomeFolder As String
        Dim NomeFolderOrig As String
        Dim ValCella As String
        Dim Esiste As String
        Dim Indice As Integer
        Dim fs, f, s
        Set fs = CreateObject("Scripting.FileSystemObject")
        Percorso = "D:File Creati"    '<<<< Da modificare col percorso desiderato della cartella padre
        Set f = fs.GetFolder(Percorso)
        For i = 1 To 300
            If Sheets(1).Range("A" & i).Value <> "" Then
                ValCella = Sheets(1).Range("A" & i).Value
                NomeFolderOrig = Percorso & ValCella
                NomeFolder = NomeFolderOrig
                Indice = 0
                Do
                    
                    Esiste = fs.FolderExists(NomeFolder)
                    If Esiste Then
                        Indice = Indice + 1
                        NomeFolder = NomeFolderOrig & "_" & Indice
                    Else
                        fs.CreateFolder (NomeFolder)
                        Exit Do
                    End If
                Loop
            End If
        Next i
    End Sub