智能进销存软件:革新现代库存管理
138
2023-11-07
【摘要】 本书摘自《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》一书中第4章,第1节,韩小良著。
4.1.2 单元格的赋值
1.Range.Value 属性
Range和 Cells 的默认属性为Value, 该属性可读可写,即可以通过Value 属性写入需要的 数据到 Excel 单元格中。因为 Value 是默认值,所以,以下两种写法都正确。
Msgbox Cells(1).Value
Msgbox Cells(1)
皮蛋:那要如何写入呢?跟平时在单元格直接打字输入或者按F2或双击进去再编辑一 样吗?
无言:其实挺简单的,就 一 个字符 — =,在第2章说过对属性的赋值可以通过Let语句, 也可以省略该语句。
对 Range 对象的 Value 属性的赋值示例如下:
Cells(1)=" 这是通过VBA给 A₁ 单元格赋值了。""在A₁ 单元格输入左侧的字符
Cells(2,3)=Date '在C2 单元格输入电脑当前日期
Sheet1.Cells(2,1)=Now'在工作代码名为 Sheetl 的工作表的 A2 单元格输入电脑的当前时间
Range("B5")=123 '在B5 单元格输入123
Range("G15")=Format(123,”0000”)’在G15 单元格输入已设置了格式的123的数字
Workbooks(2).Sheets(7).Cells(1,I)=Date'在第2个工作簿的第7个工作表的A1 单元格输入当天日期
无 言 :上面的示例中,当输入的为文本字符串时,必须在=后面用英文半角的双引号将文 本内容包括在里头。
皮蛋:那么数字就可以直接输入是吧。
无言:是的,对于数字或如示例中使用的Date 和Now 等此类日期类型等均可直接输入。 其中示例中采用的Format 函数用于设置数字123的输出样式,该函数类似于我们Excel函数中的 Text函数(其功能也相似)或者自定义单元格格式功能。
对 于 Ragne 区域赋值,如果均赋值为相同的值时,直接使用 Range 区域=指定值即可,
如下示例:
Range("A₁:D3")=1
Range("A₁:D3,F5:H6")=1
'将A1:D3 单元格区域的值输入或修改为 1
'将多单元格区域的值输入或修改为1
无言:以上类似于平时用的填充功能 (Ctrl+Enter)。
支辈:如果要给区域每个单元格输入某个不同的数呢,例如A₁ :A5 我要输入1~5,这样是 不是要用循环呢?
无言: 这个必须用循环语句才能搞定。那我们参照Q 龄表中的Q 龄一项,新建一列并将该
列中的“年”替换后在新列中输入只有数字的Q 龄,如代码4-2所示。
代 码 4 - 2 新建 QQ 龄列,删除原D 列中的“年”字
1|Sub QlingO
21 Dim i As Integer
3| Columns(6).Delete
4| Columns(5).Copy
5| Columns(6).PasteSpecial Paste:=xIPasteFormats
6| Range("F1:F31").NumberFormatLocal ="G/通用格式"
7| Fori=1 To 31
8| Ifi=1 Then
9| Cells(i,F)="QQ龄"
10| Else
11| Cells(i,6)=Replace(Cells(i,D),"年",)
12| End If
13| Next i
14|End Sub
(1)代码4-2示例过程中声明了i变量用于For…Next循环句的指数循环变量; Columns(6).Delete语句为删除第6 (F) 列,该语句用于删除该列的所有数据; Columns(5). Copy 语句为复制第5(E) 列 。
(2)Columns(6).PasteSpecial Paste:=xIPasteFormats 语句为使用选择性粘贴第5列的单元 格格式 (PasteSpecial 方法)到第6列,其中Paste参数为 PasteSpecial 方法为要粘贴选项,该 语句中为粘贴格式。
(3)Range("F1:F31").NumberFormatLocal="G/ 通用格式"语句则是设置 F1:F13 区域的单
元格格式设置为常规,Range.NumberFormatLocal 属性为单元格格式,该属性可读写。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~