推荐一个代做毕业设计的网站,快速建站实例演示完整版,购物券网站怎么做,湖北正规网站建设检修前言
本节会介绍通过VBA中的Range对象#xff0c;来实现Excel表格中的单元格写入、区域范围写入#xff0c;当然也可以写入不同类型的数据#xff0c;如数值、文本、公式#xff0c;以及实现公式下拉自动填充的功能。 一、单元格输入数据
1.通过Value方法实现输入不同类型…前言
本节会介绍通过VBA中的Range对象来实现Excel表格中的单元格写入、区域范围写入当然也可以写入不同类型的数据如数值、文本、公式以及实现公式下拉自动填充的功能。 一、单元格输入数据
1.通过Value方法实现输入不同类型的数据
向A1写入姓名(文本)A2写入年龄(数值)A3写入入学时间(日期)A4、A5、A6分别写入语数外成绩(数值)A7写入三科成绩之和(公式)代码如下
Sub InputData()Range(A1).Value 小明Range(A2).Value 16Range(A3).Value 2021-9-1Range(A4).Value 91.5Range(A5).Value 95Range(A6).Value 86Range(A7).Value Sum(A4:A6)End Sub2.单元格输入文本内容
向单元格输入文本内容时需要将其输入的字符串需要用 双引号 引起来 需要注意的是如果想要输入文本型数字时例如常见的卡号、工号、身份证号等信息则需要在数字前加 单引号 示例代码如下 Range(B1).Value 成绩单Range(B2).Value ABCDRange(B3).Value 今天是 Format(Date,yyyy-mm-dd)Range(B4).Value 001258Range(B5).Value 1101101992122200013.单元格输入多行数据
向单元格输入多行数据时可以使用换行符Char(10)如下示例中向单元格A1中分三行输入姓名“性别”,“年龄” Range(A1).value 姓名 Chr(10) 性别 Chr(10) 年龄4.单元格输入公式Formula
向单元格输入公式时既可以使用Range的value属性也可以使用其Formula属性两者执行的结果是一样的。 Range(C1).Value Sum(A4:A6)Range(C2).Formula Sum(A4:A6)5.实例 题目已知sheet1中A、B、C三列分别存放的学生语数外科目的成绩需要在D列进行计算三科成绩的总和注意总行数未知 思路因总行数未知则需先根据A列获取到sheet1的总行数其次计算和公式应该从D2开始写入SUM(A2:C2);因行数较多故以下代码应通过公式自动填充快速实现求和计算。 完整的代码如下
Sub SumScore()Dim ws As WorksheetDim wb As WorkbookDim lastRow As Long 设置当前工作簿以及工作表Set ws ThisWorkbook.Worksheets(Sheet1)Set wb ThisWorkbook 通过A列获取最大行数lastRow ws.Cells(ws.Rows.Count, A).End(xlUp).Row 写入D2单元格汇总公式ws.Range(D2).Value SUM(A2:C2) 自动下拉填充所有行公式ws.Range(D2).AutoFill ws.Range(D2:D lastRow)End Sub二、单元格区域输入数据
1.输入行数据
通过Array函数可以快速的输入一行数据例如在第一行A1~D1输入行标题代码如下
Range(A1:D1) Array(语文成绩, 数学成绩, 外语成绩, 总成绩)2.输入列标题
同样通过Array函数快速输入一列数据可以使用Transpose函数进行转置代码如下
Range(A1:A4) WorksheetFunction.Transpose(Array(姓名, 性别, 班级, 成绩))3.区域输入相同的数据
在A1:E10区域范围内快速输入相同的内容代码如下 Range(A1:E10).Value 1004.示例 题目已知有两张sheet,需要将Sheet1中的A-E列的数据完全复制到Sheet2中B-F列中完整的代码如下 Sub CopyData()Dim ws1 As WorksheetDim ws2 As WorksheetDim wb As WorkbookDim lastRow As Long 设置当前工作簿以及工作表Set ws1 ThisWorkbook.Worksheets(Sheet1)Set ws2 ThisWorkbook.Worksheets(Sheet2)Set wb ThisWorkbook 通过A列获取最大行数lastRow ws1.Cells(ws1.Rows.Count, A).End(xlUp).Row 将sheet1中的A-E列数据复制到Sheet2中的B-F列ws2.Range(B1:F lastRow).Value ws1.Range(A1:E lastRow).ValueEnd Sub