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

2022-04-21 社会 73阅读

楼主想要的功能,可以使用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程序的运行结果如下:(写代码不易,望笑纳)

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com