[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『取り消しボタン』(田中です)
マクロで作業した時に元に戻すボタンが使用できません。
だから、元に戻すというボタンをVBAで作りたいのですが
どなたかお願いします。
できる場合とそうでない場合がありますよ? どんなコードですか? (seiya)
Sub ten3()
'
' ten3 Macro
'
'
ActiveCell.FormulaR1C1 = "・"
With ActiveCell
.Value = "・"
.Offset(0, 1).Select
End With
ActiveCell.FormulaR1C1 = "・"
With ActiveCell
.Value = "・"
.Offset(0, 1).Select
End With
ActiveCell.FormulaR1C1 = "・"
With ActiveCell
.Value = "・"
.Offset(0, 1).Select
End With
End Sub
ということが原則だと思った方が良いですよ!!
例えば、提示されたコードは、
Sub canceltest()
activecell.activate
SendKeys "・{TAB}・{TAB}・{TAB}"
End Sub
これとほぼ同じですよね
上記を実行した後、
元に戻すボタンを3回クリックすれば、元には戻ります。
本当に特別事例のみです(Excel4Macroは元に戻せる等)
提示されたコードに関して、元に戻すと言うなら、
元の値をどこかにセーブしておく等の方法も考えられます(Excel2000以上なら、IDプロパティを利用する)
が、根本的にVBAでの処理のUndo機能を実現するのは難しいですよ!!
ichinose
こんな感じで試してください。
Private OldData As Variant Private OldAdd As String
Sub ten3() ' ' ten3 Macro '
With ActiveCell.Resize(,3)
OldData = .Value
OldAdd = .Address
.Value = "・"
End With
End Sub
Sub myUndo()
Dim temp
If OldAdd <> "" Then
With Range(OldAdd)
temp = .Value
.Value = OldData
OldData = temp
End With
Else
MsgBox "Can't Undo yet"
End If
End Sub
(seiya)
完璧です!!
ありがとうございました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.