* 第一行必须是表头
* 可以识别加粗字体
* 可以识别左中右水平对齐
' CreateWikiTable:将excel表格转化成符合MediaWiki格式的html文;可以用excel进行直观的编辑,生成后直接粘贴到wiki中使用
' 使用说明:表格宽度和长度结束标志为无内容的空行或者空列,第一行为表头
Sub CreateWikiTable()
Dim iWidth As Integer
Dim iLength As Integer
Dim strWiki As String
iWidth = GetFormWidth()
iLength = GetFormLength()
strWiki = GetWikiFormHead(iWidth)
strWiki = strWiki + GetWikiFormBody(iWidth, iLength)
strWiki = strWiki + GetWikiFormTail(iWidth)
Debug.Print strWiki
End Sub
' 返回表头代码
Function GetWikiFormHead(iWidth As Integer) As String
Dim i As Integer
GetWikiFormHead = "{|border=" + Chr(34) + "1" + Chr(34) + " cellspacing=" + Chr(34) + "0" + Chr(34) + Chr(10)
For i = 1 To iWidth
GetWikiFormHead = GetWikiFormHead + "| " + GetFormatString(1, i) + Chr(10)
Next i
End Function
' 返回表体代码
Function GetWikiFormBody(iWidth As Integer, iLength As Integer) As String
Dim i As Integer
Dim j As Integer
GetWikiFormBody = ""
For i = 2 To iLength
GetWikiFormBody = GetWikiFormBody + "|-" + Chr(10)
For j = 1 To iWidth
GetWikiFormBody = GetWikiFormBody + "| " + GetFormatString(i, j) + Chr(10)
Next j
Next i
End Function
' 返回表格尾部wiki代码
Function GetWikiFormTail(iWidth As Integer) As String
GetWikiFormTail = "|}"
End Function
' 获取内容串,根据excel格式自动加上加粗、中对齐和右对齐
Function GetFormatString(iRow As Integer, iCol As Integer) As String
GetFormatString = Cells(iRow, iCol).Text
If (Cells(iRow, iCol).Font.Bold = True) Then
GetFormatString = "<b>" + GetFormatString + "</b>"
End If
If (Cells(iRow, iCol).HorizontalAlignment = xlCenter) Then
GetFormatString = "align=" + Chr(34) + "center" + Chr(34) + " | " + GetFormatString
ElseIf (Cells(iRow, iCol).HorizontalAlignment = xlRight) Then
GetFormatString = "align=" + Chr(34) + "right" + Chr(34) + " | " + GetFormatString
End If
End Function
' 返回表格宽度
Function GetFormWidth() As Integer
GetFormWidth = 0
Dim i As Integer
i = 1
While (Cells(1, i).Text <> "")
i = i + 1
Wend
GetFormWidth = i - 1
End Function
' 返回表格高度
Function GetFormLength() As Integer
GetFormLength = 0
Dim i As Integer
i = 1
While (Cells(i, 1).Text <> "")
i = i + 1
Wend
GetFormLength = i - 1
End Function
分享到:
相关推荐
VBA(Visual Basic for Applications)是一种内置在Microsoft Office套件中的编程语言,允许用户自定义工作流程、自动化...通过学习和理解这些知识点,VBA开发者可以更好地优化自己的工作流程,实现代码生成的自动化。
用VBA制成的可根据模板工作表,批量生成新的工作表,并能自动编号及工作表命名。
excel VBA学习,结合excel公式和VBA自动生成所需要的条码信息,并自动打印,代码写的不好,仅供学习!
通过VBA代码高效实现CAD线段构成的表格转换到EXCEL,主要方法是用IntersectWith函数获取所有线段的交点,并对交点的X,Y坐标排序,建立EXCEL输出表格行列关系,然后通过文字与X,Y坐标的关系,确定文字所在行列位置。
综上所述,VBA自动生成文件目录是一项实用的技能,尤其对于经常处理大量文件的IT专业人员。通过编写VBA代码,你可以实现即时查找和打开文件,优化文件管理工作流程,从而节省宝贵的时间。在实际项目中,结合实际需求...
VBA(Visual Basic for Applications)是一种在Microsoft Office套件中广泛使用的编程语言,它允许用户创建自定义功能和自动化任务,比如我们所讨论的“VBA数据录入工具自动生成Excel”。这个工具通过VBA编程实现了...
**基于VBA的试卷生成器**是一种利用Visual Basic for Applications(VBA)编程语言来创建自动化工具,可以自动生成包含试题和答案的Word文档。VBA是Microsoft Office套件中的内置编程环境,允许用户通过宏或其他脚本...
Excel表格利用VBA代码实现定时自动向下跳动展示,可自定义设置跳动时间,和跳动间隔,用于展示表格内容!只需设置好范围 如:表格到第“10”行结束返回,那么巡航范围只需设置10即可!还何以设置向下跳动的距离 如:...
在Excel中使用VBA实现自动编码,主要步骤包括以下几个方面: 1. **定义编码规则**:编码规则是自动编码的核心。你可以定义如年份、月份、流水号等组合,例如“2023040001”表示2023年4月的第一个记录。规则可以灵活...
采用Microsoft Basic 6.0 编程工具,利用VBA语言通过宏录制技术和嵌入控件及对象技术将Excel应用程序中的数据自动生成图表,并实现Excel工作簿和Word文档两个应用程序之间的数据无缝连接,进而通过Word文档的书签...
Excel作为一个强大的数据处理工具,配合VBA(Visual Basic for Applications)宏语言,可以实现自动化的工作流程,比如字段名的翻译。本篇文章将深入探讨如何利用Excel VBA实现自动字段名翻译程序,并针对描述和标签...
二维码小工具 - VBA_二维码vba_二维码_二维码生成_VBa_VBA二维码是一个使用VBA(Visual Basic for Applications)编程实现的Excel宏工具,它允许用户在Excel环境中生成二维码。VBA是Microsoft Office套件中内置的一...
VBA生成折线图VBA生成折线图VBA生成折线图
VBA实现EXCEL多表格多条件查询 For i = 1 To Workbooks.Count For Each c In Sheets(i).UsedRange If c.Value >= 150 And c.Value c1 = c1 + c.Value n = n + 1 End If ‘更多条件…… Next Next
二维码生成器(VBA纯代码)是一种使用Visual Basic for Applications (VBA)编程语言实现的工具,它可以无需依赖任何外部库或组件,仅通过内部代码就能创建二维码。VBA是Microsoft Office套件中内置的一种编程环境,它...
VBA楼栋-单元-房号生成工具
Excle VBA实现彩票号码随机生成,彩票号码随机生成器
在本主题中,我们讨论了如何使用Excel VBA(Visual Basic for Applications)实现报表的自动生成并导出为PDF格式。Excel VBA是Excel内置的编程语言,可以让用户通过编写宏来自动化Excel中的一系列任务,极大地提高...
综上所述,利用VBA实现Excel电子表格的自动分页统计是一种高效的数据处理方式,通过宏的录制、编辑和执行,可以定制化满足特定需求的统计功能,提升办公效率。在实际工作中,学习和掌握VBA编程技巧,能够极大地提升...
利用VBA实现报表自动生成,VBA语言简单入门