|
本帖最后由 缔造者 于 2013-12-2 18:20 编辑
没看仔细,最后一个循环把“完成”又重新赋值了,去掉就行了。
另外缺少一个选定区域发生改变时触发程序的事件
- <P>Dim c
- Private Sub Worksheet_Change(ByVal Target As Range)</P>
- <P>'If Target.Count > 1 Then Exit Sub
- a = Target.Row
- b = Target.Column
- 'c = Cells(a, b)</P>
- <P>flag = 1 '
- no = 2</P>
- <P>If b >= flag And b <= flag + no Then
- If b = flag Then
- If Cells(a, flag) = "读数据" Then
- For i = 1 To no
- If Cells(a, flag + i) <> "" Then
- Response = MsgBox("是否读取数据?", vbYesNo + vbQuestion + vbDefaultButton2, "提示信息")
- If Response = vbYes Then '用户按下“是”按钮
- Cells(a, flag) = "完成"
- For j = 1 To no
- Cells(a, flag + j) = Cells(a - 1, flag + j)
- Next
- Else
- Cells(a, flag) = c
- End If
- End If
- Next
-
- ' For i = 1 To no
- ' Cells(a, flag + i) = Cells(a - 1, flag + i)
- ' Cells(a, flag) = "完成"
- ' Next
-
- End If
-
- End If
- End If</P>
- <P>
- End Sub</P>
- <P>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- c = Target.Value
- End Sub
- </P>
复制代码 |
|