永发信息网

函数 VBA问题?

答案:3  悬赏:0  手机版
解决时间 2021-04-28 00:17
  • 提问者网友:不爱我么
  • 2021-04-26 23:54

在一个工作薄中,有13个工作表,其中12个工作表名依次叫1月履历、2月履历、3月履历、4月履历。。。。现在第13个工作表中的A1单元格中输入数字11,可不可以在B2单元中显示出出10月履历中的C5单元格中的数字呢?依次类推输入任意12个月的数字就可得前一个月的履历那个相应单元格的数字。希望VBA或函数高手解答出此题,谢谢!!!

最佳答案
  • 五星知识达人网友:荒野風
  • 2021-04-27 00:36

请用这段代码试下


Private Sub Worksheet_Change(ByVal Target As Range)
Dim a, b
Set a = ActiveSheet
If Target.Row = 1 And Target.Column = 1 Then
If IsNumeric(a.Cells(1, 1)) = False Then
MsgBox ("请输入数字")
Else
If a.Cells(1, 1) < 1 Or a.Cells(1, 1) > 12 Then
MsgBox ("所输入数字不在范围内")
Else
If a.Cells(1, 1) = 1 Then
Set b = Sheets("12月履历")
Else
Set b = Sheets(a.Cells(1, 1) - 1 & "月履历")
End If
a.Cells(2, 2) = b.Cells(5, 3)
End If
End If
End If
End Sub


全部回答
  • 1楼网友:傲气稳了全场
  • 2021-04-27 01:34
输入11是什么意思呢
  • 2楼网友:妄饮晩冬酒
  • 2021-04-27 01:17

Private Sub Worksheet_Change(ByVal Target As Range) Dim num As Integer Set a = Worksheets("Sheet1")

If Target.Row = 1 And Target.Column = 1 Then num = a.Range("a1") Set b = Worksheets(num & "月履历") a.Range("b2").Value = b.Range("c5").Value End If End Sub

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯