将两个单元格的文本组合为文件路径的输出

时间:2016-12-29 11:54:03

标签: excel vba merge range

亲爱的stackoverflow社区,

我一直致力于制作地图结构的程序,具体取决于Excel中的索引。

此索引是可变的,这意味着章节的名称可能始终不同。章节的数量并不总是一样的。因为我使用数据验证来选择章节的内容,所以我不能使用连接选项在相同的单元格中编号。见这里:

Image1

根据索引,我想索引的文件夹结构。我可以将其用于C56D56。这意味着一章。这是代码:

Sub Try_This_Maybe_Multiple()

    Dim myDir As String
    myDir = Sheets("Invulformulier").Range("J6") & "\" & "Material data book" & "\" & Sheets("Index").Range("C56") & " " & Sheets("Index").Range("D56")
    MkDir myDir
    On Error GoTo 0

End Sub

现在我已尝试加入Range("C56:C70")Range("D56:D70")。 (C56是索引开始的地方)不幸的是,它没有用。我还搜索了多个网站并尝试了不同的东西。那也没有给出任何结果。

简短回顾;我想在代码中合并单元格C56D56的文本。然后对C57D57等进行相同的操作,而不必为每个单独的行编写它。

最终的想法是,一个人将pdf文件放在它所属的文件夹结构中,然后在文件夹的结构中创建一个组合的pdf文件:

Image2

我希望我的问题足够明确。如果没有,请问我需要哪些信息。

谢谢。

1 个答案:

答案 0 :(得分:2)

只需使用For循环遍历范围中的单元格,然后根据行创建文件夹。假设您的单元格区域之间由一行隔开并从第56行到第70行运行,请尝试以下操作:

Sub Test()

    Dim myDir As String
    Dim x as long

    For x = 56 to 70 Step 2
        myDir = Sheets("Invulformulier").Range("J6") & "\" & _
                "Material data book" & "\" & Sheets("Index").Range("C" & x) & " " & _
                Sheets("Index").Range("D" & x)
        MkDir myDir
    Next x    

End Sub