内容导航:


一、excel怎么把文件名读到自己的单元格内


1、首先在需要提取文件夹名称的文件夹中新建一个文本文档。

2、双击打开文档并在其中输入一组字符:dir>tp.txt,输入后直接将文档进行保存操作。

3、然后将文本文档的扩展名从原本的“txt”更改为“bat”。

4、双击该bat程序并等待片刻,即可在文件夹中生成一个提取文件夹名称的文本文档,将其中需要的内容选中并复制。

5、打开excel表格,在其中按下CTRL+V将复制的内容粘贴到表格中即可完成提取。



二、怎么从excel提取出单元格内的内容


楼主想要的功能,可以使用VBA程序代码实现。(当然,如果不是大量的数据处理,写VBA程序确实有点不划算)

(一)VBA程序代码如下:(程序运行之前请做好数据备份,以免丢失)

Sub Instr_Mid()
Dim i1, i2, i3, i4, i5, Arr, str1, str2, str3, str4
On Error Resume Next
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")
mysheet1.Range("B:BBB") = "" '清空单元格
Arr = Array(Chr(34), ",") '间隔的标志,数组
For i1 = 2 To 10000 '从第二行到10000行
i6 = 1 '列,从第2列开始
If mysheet1.Cells(i1, 1) <> "" Then
For Each str2 In Arr '逐一去判断字符组里面的每一个字符
i4 = 0
For i2 = 1 To 1000 'i2一个字符大约循环1000次(中间可能退出)
str4 = ""
i3 = InStr(i3 + 1, mysheet1.Cells(i1, 1), str2) '判断字符所在的位置
str1 = Mid(mysheet1.Cells(i1, 1), i3 + 1, 1) '截取字符
If i3 <> 0 And IsNumeric(str1) = True Then '如果截取的字符是数字,则
i6 = i6 + 1
For i5 = i3 + 1 To 100000 '从第i3+1个字符开始
str3 = Mid(mysheet1.Cells(i1, 1), i5, 1)
If IsNumeric(str3) = True Then '如果截取的是数字,则
str4 = str4 & str3
Else
Exit For
End If
Next
mysheet1.Cells(i1, i6) = str4 '把数字填入同一行的列
End If
If i3 = 0 Then
Exit For
End If
Next
Next
End If
Next

End Sub

(二)VBA程序的运行结果如下:(写代码不易,望笑纳)