循序渐进VBA EXCEL数据操作小实例
Posted luoye00
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循序渐进VBA EXCEL数据操作小实例相关的知识,希望对你有一定的参考价值。
1 向指定单元格区域内写入数据
Sub example1() Dim arr(1 To 3) arr(1) = Array("A", "B", "C", "D") arr(2) = Array("E", "F", "G", "H") arr(3) = Array("I", "J", "K", "L") For i = 1 To 3 Range("A" & i & ":D" & i).Value = arr(i) Next End Sub
2 复制指定单元格内的数据到另一个区域
Sub example2() Dim arr1 arr1 = Range("A1:D1").Value Range("G3:J3").Value = arr1 End Sub
3 数据操作综合实例
Sub example3() Dim i As Integer Dim Tit Tit = Array("正序列", "倒序") Sheet1.Range("O1:P1").Value = Tit For j = 1 To 24 Sheet1.Range("O" & j).Value = j Next Row = Sheet1.Range("o65536").End(xlUp).Row ‘读取数据行行号 r = r + Row For k = 1 To r Sheet1.Range("P" & k).Value = r r = r - 1 Next For i = 1 To Row arr2 = Sheet1.Range("O" & i & ":P" & i).Value ‘读取表一指定区域的单元格的值到数组 Sheets("Sheet1").Range("R" & i & ":S" & i).Value = arr2 ‘将数组的元素写入到表 Next End Sub
4 Find 及 Findnext 全文查找综合实例
Sub example4() Dim s As String Dim c On Error Resume Next ‘Dim rn s = InputBox("输入查找关键字") i = 0 Set c = Sheets("sheet1").Range("a1:d65536").Find(s) If c Is Nothing Then i = 0 Else firstAddress = c.Address r = Sheet1.Range("a65536").End(xlUp).Row Do Set c = Sheet1.Range("a1:d" & r).FindNext(c) c.Interior.Color = RGB(232, 254, 250) i = i + 1 Loop While Not c Is Nothing And c.Address <> firstAddress End If MsgBox "共有" & i & "条满足条件的记录." End Sub
5 添加数据及数据套打综合实例
Sub example5() rw = Sheet1.Range("a65536").End(xlUp).Row For i = 1 To rw arr = Sheet1.Range("a" & i & ":d" & i) With Sheet2 .Range("B2") = arr(1, 1) .Range("D2") = arr(1, 2) .Range("B3") = arr(1, 3) .Range("D3") = arr(1, 4) End With Call printForm ‘调用打印子程序 Next Call CleanUp ‘调用清除指定区域数据子程序 End Sub Sub CleanUp() ‘清除指定区域数据 With Sheet2 .Range("B2").ClearContents .Range("D2").ClearContents .Range("B3").ClearContents .Range("D3").ClearContents End With End Sub Sub printForm() ‘打印 Dim ws As Worksheet For Each ws In Worksheets If (ws.Visible = xlSheetVisible) And (ws.Name = "Sheet2") Then With ws.PageSetup .Zoom = False ‘关闭打印缩放 .FitToPagesWide = 1 ‘设置打印宽度 .FitToPagesTall = 1 ‘设置打印高度 End With ‘ws.PrintOut ws.PrintPreview End If Next End Sub Sub example6() ‘添加信息 Dim xm$, nl$, zy$, zn$ ‘声明数据类型为字符串 xm = Sheet2.Range("b2").Value nl = Sheet2.Range("d2").Value zy = Sheet2.Range("b3").Value zn = Sheet2.Range("d3").Value rw = Sheet3.Range("a65536").End(xlUp).Row If rw < 1 Then rw = 1: End i = rw + 1 With Sheet3 .Cells(i, 1) = xm .Cells(i, 2) = nl .Cells(i, 3) = zy .Cells(i, 4) = zn End With i = i + 1 Call CleanUp End Sub
以上是关于循序渐进VBA EXCEL数据操作小实例的主要内容,如果未能解决你的问题,请参考以下文章