EXCEL VBA 的题 求解···

来源:百度知道 编辑:UC知道 时间:2024/09/21 20:56:23
1.对单元格内容进行求和,就是EXCEL里任意选中单元格都能求和。

要求:用循环实现 步骤越简单越好。

2.在EXCEL中,任意单元格输入1,相邻单元格出现A(ASCII码转换),输入2则出现B....超出1-26则弹出提示框

要求:用循环实现,步骤越简单越好。
只能用EXCEL VBA···而且是循环

相邻单元格就是采用该单元格的右边的单元格
任意在工作表的一个地方输入1,然后右边的单元格就显示A....26就显示Z (就是数字换字母)
别想太复杂了,其实就是随意输入一个数,然后在右边显示字母,就这样。

用循环不会,好像不实际。等高手,不用循环的话,也简单。

第一种:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.WorksheetFunction.Sum(Selection) = 0 Then
[A1] = ""
Else
[A1] = Application.WorksheetFunction.Sum(Selection)
End If
End Sub

以上代码针对选中区域求和,并将结果返回A1单元格中。零时,返回空值

第二种:
首先ASCII码转换不是1便转换成A,实际上是65才是A。。。所以,得采用Select case 语句,稍麻烦一些。
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target
Case 1
Cells(Target.Row, Target.Column + 1) = "A"
Case 2
Cells(Target.Row, Target.Column + 1) = "B"
'以下一直到26,代码参照上面即可
case else
msgbox "超出范围"
End Select
End Sub

以上代码,比如在A1输入1,则在B1返回A。。。

1、第1个问题中,所谓选中的单元格是在宏运行之前选中,还是在运行中去选择?如果之前选定,求和就可以一次搞定,那你的循环是关于什么内容的循环呢?
2、第2个问题中,所谓相邻单元格,对于不在边行边列的单元格来说,都有4个相邻的,你要求这4个都要显示字母还是只要有一个方向的即可?
3、第2个问题中,“任意单元格”输入1……输入2……问题是,在输入2时,是在输入1的那个固定单元格重新输入还是可以在另外的任意单元格中输入呢还是