Excel VBA编程实例.docx

上传人:b****5 文档编号:3975251 上传时间:2022-11-26 格式:DOCX 页数:23 大小:17.44KB
下载 相关 举报
Excel VBA编程实例.docx_第1页
第1页 / 共23页
Excel VBA编程实例.docx_第2页
第2页 / 共23页
Excel VBA编程实例.docx_第3页
第3页 / 共23页
Excel VBA编程实例.docx_第4页
第4页 / 共23页
Excel VBA编程实例.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Excel VBA编程实例.docx

《Excel VBA编程实例.docx》由会员分享,可在线阅读,更多相关《Excel VBA编程实例.docx(23页珍藏版)》请在冰豆网上搜索。

Excel VBA编程实例.docx

ExcelVBA编程实例

Subdirect_Price()

''定义变量

DimcRowsAsInteger'总行数

DimcColumnsAsInteger'总列数

DimHEADERCOLORINDEXAsInteger'表头的背风光

DimcTempAsInteger'临时计数

DimsTempStringAsString'临时字符串变量

DimiAsInteger'临时计数

DimjAsInteger'临时计数

DimrowIndexAsInteger'临时指示处理到哪里

DimcolIndexAsInteger'临时指示处理到哪里

DimtempRndColorAsInteger'临时生成的颜色

DimTABLENAMEAsString'待处理的表名

DimcolorIndexAsString'颜色索引名字

'表头的背风光

HEADERCOLORINDEX=15

colorIndex=36'颜色从33开场是比拟浅的颜色

TABLENAME="direct_Price"

'关闭所有弹出的警告消息

Application.DisplayAlerts=False

'设置需要处理的单元表

Sheets(TABLENAME).Select

'取单元表的总列数与总行数

 

''''

'选择所有的单元格

Range(Cells(1,1),Cells(cRows,cColumns)).Select

 

 

'设置所有的边框

Selection.Borders(xlDiagonalDown).LineStyle=xlNone

Selection.Borders(xlDiagonalUp).LineStyle=xlNone

WithSelection.Borders(xlEdgeLeft)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlEdgeTop)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlEdgeBottom)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlEdgeRight)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlInsideVertical)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

'并且拆分所有的单元格

WithSelection

.MergeCells=False'拆分单格

EndWith

Columns("C:

C").Select

Selection.InsertShift:

=xlToRight

'删除第一列,注意这里必须先拆分单格,再删除第一列,否那么一次就会把合并单元格所在列全部删除

Range(Cells(1,1),Cells(1,1)).Select

 

'向表头添加一行

Rows("1:

1").Select

Columns("A:

A").Select

Columns("B:

B").Select

Columns("C:

C").Select

Columns("D:

D").Select

Columns("E:

E").Select

Columns("F:

F").Select

 

'''''设定单元格A1:

A2''

'合并A1:

A2单元格

Range("A1:

A2").Select

'将数据写回

WithSelection

.HorizontalAlignment=xlCenter

.VerticalAlignment=xlCenter

.Orientation=0

.AddIndent=False

.IndentLevel=0

.ShrinkToFit=False

.ReadingOrder=xlContext

.MergeCells=True

EndWith

'往该单元格中写入Usage_Var

ActiveCell.FormulaR1C1="Price"

'设置该单元格字体格式

WithActiveCell.Characters(Start:

=1,Length:

=5).Font

.Name="Arial"

.FontStyle="加粗倾斜"

.Size=10

.Strikethrough=False

.Superscript=False

.Subscript=False

.OutlineFont=False

.Shadow=False

.Underline=xlUnderlineStyleNone

.colorIndex=2

EndWith

'单元格设定边框

Selection.Borders(xlDiagonalDown).LineStyle=xlNone

Selection.Borders(xlDiagonalUp).LineStyle=xlNone

Selection.Borders(xlEdgeTop).LineStyle=xlNone

WithSelection.Borders(xlEdgeBottom)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=56

EndWith

Selection.Borders(xlInsideHorizontal).LineStyle=xlNone

.colorIndex=5

.Pattern=xlSolid

.PatternColorIndex=xlAutomatic

EndWith

'''''设定头两行的内部款式'''''

Range("B1:

B2").Select

Range("C1:

C2").Select

Range("D1:

D2").Select

Range("B1:

D2").Select

 

.Name="Arial"

.FontStyle="加粗"

.Size=8

.Strikethrough=False

.Superscript=False

.Subscript=False

.OutlineFont=False

.Shadow=False

.Underline=xlUnderlineStyleNone

.colorIndex=xlAutomatic

EndWith

WithSelection

.HorizontalAlignment=xlCenter

.VerticalAlignment=xlCenter

.WrapText=True

.Orientation=0

.AddIndent=False

.IndentLevel=0

.ShrinkToFit=False

.ReadingOrder=xlContext

EndWith

.colorIndex=HEADERCOLORINDEX

.Pattern=xlSolid

.PatternColorIndex=xlAutomatic

EndWith

Range("B1:

B2").Select

ActiveCell.FormulaR1C1="Type"

WithActiveCell.Characters(Start:

=1,Length:

=4).Font

.Name="Arial"

.FontStyle="加粗"

.Size=8

.Strikethrough=False

.Superscript=False

.Subscript=False

.OutlineFont=False

.Shadow=False

.Underline=xlUnderlineStyleNone

.colorIndex=5

EndWith

Range("E1:

F1").Select

.Name="Arial"

.FontStyle="加粗"

.Size=8

.Strikethrough=False

.Superscript=False

.Subscript=False

.OutlineFont=False

.Shadow=False

.Underline=xlUnderlineStyleNone

.colorIndex=5

EndWith

WithSelection

.HorizontalAlignment=xlCenter

.VerticalAlignment=xlCenter

.WrapText=True

.Orientation=0

.AddIndent=False

.IndentLevel=0

.ShrinkToFit=False

.ReadingOrder=xlContext

.MergeCells=True

EndWith

.colorIndex=HEADERCOLORINDEX

.Pattern=xlSolid

.PatternColorIndex=xlAutomatic

EndWith

ActiveCell.FormulaR1C1="Price"

Range("E2:

F2").Select

 

.Name="Arial"

.FontStyle="加粗"

.Size=8

.Strikethrough=False

.Superscript=False

.Subscript=False

.OutlineFont=False

.Shadow=False

.Underline=xlUnderlineStyleNone

.colorIndex=xlAutomatic

EndWith

WithSelection

.HorizontalAlignment=xlCenter

.VerticalAlignment=xlCenter

.WrapText=True

.Orientation=0

.AddIndent=False

.IndentLevel=0

.ShrinkToFit=False

.ReadingOrder=xlContext

.MergeCells=False

EndWith

.colorIndex=HEADERCOLORINDEX

.Pattern=xlSolid

.PatternColorIndex=xlAutomatic

EndWith

'加第一二行边框

Range("A1:

F2").Select

Selection.Borders(xlDiagonalDown).LineStyle=xlNone

Selection.Borders(xlDiagonalUp).LineStyle=xlNone

WithSelection.Borders(xlEdgeLeft)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlEdgeTop)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlEdgeBottom)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlEdgeRight)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlInsideVertical)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

WithSelection.Borders(xlInsideHorizontal)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=xlAutomatic

EndWith

'去掉第三行的:

'sTempString=Right(Cells(3,1),Len(Cells(3,1))-3)

'ActiveCell.FormulaR1C1=sTempString

i=2

j=1

'外层循环判断是否都合并完成,这里插入了一行,加1

Whilei<=cRows

'i=i+1

Range(Cells(i+1,j),Cells(i+1,j)).Select

'去掉分类行中的:

If(Len(Cells(i+1,j))>=3)Then

''假如是分格的界限

If(Left(Cells(i+1,j),3)=":

")Then

Range(Cells(i+1,j),Cells(i+1,cColumns)).Select

'对第三行进展设定

Selection.RowHeight=18

.colorIndex=2

.Pattern=xlSolid

.PatternColorIndex=xlAutomatic

EndWith

'合并前两格

'先将其合并

WithSelection

.HorizontalAlignment=xlLeft'靠左对齐

.Orientation=0

.AddIndent=False

.IndentLevel=0

.ShrinkToFit=False

.ReadingOrder=xlContext

.MergeCells=False

EndWith

'合并

'对其设定字体风格

WithSe

.Name="Arial"

.FontStyle="加粗倾斜"

.Size=9

.Strikethrough=False

.Superscript=False

.Subscript=False

.OutlineFont=False

.Shadow=False

.Underline=xlUnderlineStyleNone

.colorIndex=3

EndWith

WithSelection

.HorizontalAlignment=xlLeft

.VerticalAlignment=xlCenter

.WrapText=True

.Orientation=0

.AddIndent=False

.IndentLevel=0

.ShrinkToFit=False

.ReadingOrder=xlContext

.MergeCells=True

EndWith

sTempString=Right(Cells(i+1,j),Len(Cells(i+1,j))-3)

ActiveCell.FormulaR1C1=sTempString

i=i+1

EndIf

EndIf

i=i+1

'加1后判断是否到了表尾,没有继续合并处理

'If(i<=cRows+1)Then

rowIndex=i

'取出Cells(i,j)的内容

sTempString=Cells(i,j)

'循环判断下一个单元格是否和上一个单元格相等,不是那么表示到此该合并

WhilesTempString=Cells(i+1,j)Andi<=cRows

i=i+1

Wend

设置第一列''''

'跳出循环表示已经到此该将rowIndex和i行合并

Range(Cells(rowIndex,j),Cells(i,j)).Select

'将原来内容填充进来

ActiveCell.FormulaR1C1=sTempString

'设合并后的单元格的边框

WithSelection

.HorizontalAlignment=xlCenter

.VerticalAlignment=xlCenter

.WrapText=True

.Orientation=0

.AddIndent=False

.IndentLevel=0

.ShrinkToFit=False

.ReadingOrder=xlContext

.MergeCells=True

EndWith

Selection.Font.FontStyle="加粗"

设置第一列完毕''''

'''设置第二列'''

Range(Cells(rowIndex,j+1),Cells(i,j+1)).Select

'设置字体

.Name="Arial"

.FontStyle="加粗"

.Size=8

.Strikethrough=False

.Superscript=False

.Subscript=False

.OutlineFont=False

.Shadow=False

.Underline=xlUnderlineStyleNone

.colorIndex=5

EndWith

WithSelection

.HorizontalAlignment=xlCenter

.VerticalAlignment=xlCenter

.WrapText=True

.Orientation=0

.AddIndent=False

.IndentLevel=0

.ShrinkToFit=False

.ReadingOrder=xlContext

.MergeCells=False

EndWith

Selection.Borders(xlDiagonalDown).LineStyle=xlNone

Selection.Borders(xlDiagonalUp).LineStyle=xlNone

WithSelection.Borders(xlEdgeLeft)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=56

EndWith

WithSelection.Borders(xlEdgeTop)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=56

EndWith

WithSelection.Borders(xlEdgeBottom)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=56

EndWith

WithSelection.Borders(xlEdgeRight)

.LineStyle=xlContinuous

.Weight=xlThin

.colorIndex=56

EndWith

Selection.Borders(xlInsideHorizontal).LineStyle=xlNone

'''''设置第二列完毕'''

'修改原来单元格的数据格式''

首先向任一无用的单元格写入数据

Range(Cells(cRows+2,cColumns),Cells(cRows+2,cColumns)).Select

ActiveCell.FormulaR1C1="1"

'将其格式拷贝

'复制格式

Range(Cells(rowIndex,j+4),Cells(i,cColumns)).Select

Selection.PasteSpecialPaste:

=xlPasteAll,Operation:

=xlMultiply,_

SkipBlanks:

=False,Transpose:

=False

Selection.NumberFormatLocal="_*#,##0.00000"

'去除原来内容

Range(Cells(cRows+2,cColumns),Cells(cRows+2,cColumns)).Select

设定数据格式完成''''

'''统一设置该区域的颜色

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1