Ⅰ 用excel宏对sheet按指定列内容命名拆分成若干文件
Sub列数据转文件()
DimTworkAsWorkbook,TshtAsWorksheet,nameDic,EndRowAsLong
Application.ScreenUpdating=False
SetnameDic=CreateObject("Scripting.Dictionary")
EndRow=[A65536].End(xlUp).Row'获取A列末行,根据实际液改吵修改为某列
ForEachrngInRange("A2:A"&EndRow)
'遍历A列第二行开始的所有关键字,如非A列,请将A修改成其它列
nameDic(rng.Value)=""'将关键字添加至字典对象中(不会重复)
Next
IfActiveSheet.AutoFilterMode=FalseThenRange("A1:C1").AutoFilter
'将工作表A1:C1区域设置为自动筛选,按自己需要修改区域
ForEachtInnameDic.keys'遍历字典中所有的关键字
Ift<>""Then
ActiveSheet.Range("$A$1:$C$"&EndRow).AutoFilterField:=1,Criteria1:=t
歼仿'闹侍从自动筛选中筛选值为变量t的所有区域
SetTwork=Workbooks.Add:SetTsht=Twork.Sheets(1)
'新建工作簿twork对象,设置Tsht工作表对象
Range("A1").CurrentRegion.CopyTsht.Range("A1")
'将自动筛选出的所有结果复制到新的工作薄中
Twork.SaveAst:Twork.Close:SetTsht=Nothing:SetTwork=Nothing
另存新的工作簿,名字为变量t(既A列中的关键字),然后关闭工作簿,清空对象变量
EndIf
Next
Application.ScreenUpdating=True
EndSub
Ⅱ excel用某一单元格的内容做文件名的函数是什么
正确使用INDIRECT函数,即可解决问题。
公式修改为:
=VLOOKUP(A2,INDIRECT("["&B2&".xlsx]Sheet1!A:C"),3,0)
公式解释:
INDIRECT函数调用以文本形式表示的表格区域。
INDIRECT("["&B2&".xlsx]Sheet1!A:C")表示
以单元格B2中内容为Excel文件名的工作簿的Sheet1的A到C列。
然后使用VLOOKUP函数进行查找。
Ⅲ 怎么把EXCEL里面一列的数据转换成一个个文件夹的名字(如图),反之怎么把一堆文件夹名字转换在表格里
这个是有简单方法的,只是好像技术难度有点大。
一、表变文件夹的方法:专
在表里面增加一列,使用公属式,转换为建立文件夹的命令,如下图:
粘贴到EXCEL里面即可。