|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
請幫修改:一個工作表和全部工作表的代碼!
原帖由 山菊花 于 2007-2-5 01:11 发表
为朋友写代码,其中一个功能是控件总在可视范围内显示。现把这部分代码单独做成一个文件,与朋友们共享。404688
[此贴子已经被作者于2008-9-5 16:14:33编辑过]
1.請問山版主我要所有的工作表都具有此功能如何修改代碼?
2.如何更改視窗的大小?
3.新建一個文件將代碼貼到同樣位置!運行時就一句出現錯誤: Shapes("xinxi").Visible = True '顯示資訊視窗
原碼:Public nTime As Date
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Set Target = Target.Cells(1)
If Target.Row = 1 Then Shapes("xinxi").Visible = False: Exit Sub
Dim cTxt As String, nRow As Integer
Dim Temp As String
cTxt = ""
nRow = Target.Row
For i = 1 To 10
Temp = Cells(nRow, i)
Temp = IIf(Left(Temp, 1) = ".", "0", "") & Temp
cTxt = cTxt & Chr(13) & " " & Temp
Next
Label2.Caption = cTxt '更新資訊視窗中的文字
With Shapes("xinxi")
'動態改變控制項的垂直位置
If Target.Offset(1, 0).Top - Cells(ActiveWindow.ScrollRow, 1).Top + 130 > ActiveWindow.UsableHeight Then
.Top = Cells(ActiveWindow.ScrollRow, 1).Top + ActiveWindow.UsableHeight - 130
Else
.Top = Target.Offset(1, 0).Top
End If
'動態改變控制項的水準位置
If Target.Offset(0, 1).Left - Cells(1, ActiveWindow.ScrollColumn).Left + 270 > ActiveWindow.Width Then
.Left = Target.Left - 270
Else
.Left = Target.Offset(0, 1).Left
End If
End With
nTime = Timer
Shapes("xinxi").Visible = True '顯示資訊視窗
Call XinxiVisible
End Sub
Sub XinxiVisible()
Do While Timer - nTime < 10 '顯示10秒
DoEvents
Loop
Shapes("xinxi").Visible = False '隱藏資訊視窗
End Sub
[ 本帖最后由 hfq926 于 2009-1-18 17:07 编辑 ] |
|