热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

htmlvba单元格格式,怎么处理单元格中HTML数据

OptionExplicitSubMain()DimvarTempAsVariantDimlngCurRowAsLong填充的起始行DimlngCountRowsAsLong要读取

Option Explicit

Sub Main()

Dim varTemp As Variant

Dim lngCurRow As Long '填充的起始行

Dim lngCountRows As Long '要读取据的总行数

Dim lngI As Long

lngCurRow = 2 '从第二行开始填充

lngCountRows = Sheet1.Range("B" & Sheet1.Rows.Count).End(xlUp).Row

Application.ScreenUpdating = False

Application.Cursor = xlWait

For lngI = 2 To lngCountRows

varTemp = GetValue(Sheet1.Range("B" & lngI).Value, Sheet1.Range("A" & lngI).Value)

Sheet3.Range("A" & lngCurRow).Resize(UBound(varTemp, 2), UBound(varTemp) + 1) = Application.WorksheetFunction.Transpose(varTemp)

lngCurRow = lngCurRow + UBound(varTemp, 2)

Next

Application.ScreenUpdating = True

Application.Cursor = xlDefault

MsgBox "数据解析成功!", vbInformation + vbOKOnly

End Sub

Function GetValue(strSource As String, strId As String) As Variant

Dim arr() As String

Dim strRows() As String

Dim strCols() As String

Dim lngRows As Long, lngCols As Long

Dim lngR As Long, lngC As Long

Dim lngCountCols As Long '按标题列固定列数

Dim lngCurRowID As Long '当前行号

'取得行数

strRows = Split(RegExpTest(strSource, "(

lngRows = UBound(strRows) + 1

'取得列数

strCols = Split(RegExpTest(strRows(0), "

([\s\S]*?)

lngCols = UBound(strCols) + 1

lngCountCols = lngCols '记录列数

'没有有效记录,退出

If lngRows <1 Or lngCols <1 Then Exit Function

&#39;根据行列数定义数组

ReDim arr(0 To lngRows, 1 To lngCols) As String

&#39;首行

For lngC &#61; 1 To lngCols

arr(0, lngC) &#61; strId

arr(1, lngC) &#61; strCols(lngC - 1)

Next

lngCurRowID &#61; 2

For lngR &#61; 1 To lngRows - 1

strCols &#61; Split(RegExpTest(strRows(lngR), "

([\s\S]*?)

If UBound(strCols) <&#61; lngCountCols Then

For lngC &#61; 1 To UBound(strCols) &#43; 1

arr(lngCurRowID, lngC) &#61; strCols(lngC - 1)

Next

End If

lngCurRowID &#61; lngCurRowID &#43; 1

Next

GetValue &#61; arr

End Function

Function RegExpTest(strVal As String, strPat As String) As String

Dim regEX, match, matches

Dim strTemp As String

Set regEX &#61; CreateObject("Vbscript.REGEXP")

regEX.Pattern &#61; strPat

regEX.IgnoreCase &#61; True

regEX.Global &#61; True

Set matches &#61; regEX.Execute(strVal)

For Each match In matches

strTemp &#61; strTemp & "|" & match.submatches(0)

Next

RegExpTest &#61; Mid(strTemp, 2)

End Function



推荐阅读
  • 巧用arguments在Javascript的函数中有个名为arguments的类数组对象。它看起来是那么的诡异而且名不经传,但众多的Javascript库都使用着它强大的功能。所 ... [详细]
  • 本文介绍了如何使用n3-charts绘制以日期为x轴的数据,并提供了相应的代码示例。通过设置x轴的类型为日期,可以实现对日期数据的正确显示和处理。同时,还介绍了如何设置y轴的类型和其他相关参数。通过本文的学习,读者可以掌握使用n3-charts绘制日期数据的方法。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 小程序wxs中的时间格式化以及格式化时间和date时间互转
    本文介绍了在小程序wxs中进行时间格式化操作的问题,并提供了解决方法。同时还介绍了格式化时间和date时间的互相转换的方法。 ... [详细]
  • 本文介绍了一个Python函数same_set,用于判断两个相等长度的数组是否包含相同的元素。函数会忽略元素的顺序和重复次数,如果两个数组包含相同的元素,则返回1,否则返回0。文章还提供了函数的具体实现代码和样例输入输出。 ... [详细]
  • TPL实现Task.WhileAll扩展方法
    文章翻译整理自NikolaMalovic两篇博文:Task.WhileAllAwaitabletaskprogressreporting当Task.WhenAll遇见 ... [详细]
author-avatar
飞飞鱼531
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有