アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelのボタンクリックで下記コードにより上表のイニシャルがセル"B11:E13"に入力されるが下表の数字"B15"を消した場合、再度クリックしても入力されたイニシャルが消えないどんなコード入力をすれば良いのかどなたか解る方よろしくお願いします。

Sub 入力()
Dim i As Long, j As Long
On Error Resume Next
For j = 2 To 5
For i = 1 To 3
Cells(i + 10, j) = WorksheetFunction.Index(Range("A1:A9"), WorksheetFunction.Match _
(i, Range(Cells(15, j), Cells(23, j)), False))
Next i
Next j
End Sub

「セル内の値を消したら参照先セルを消す」の質問画像

A 回答 (2件)

最も簡単にはRange("B11;E13").Clearを使うことでしょう。


見つからない場合にはセルを空にするというようにするのでしたら次のようなコードになりますね。

Sub 入力()
Dim i, j As Integer
Dim x
On Error Resume Next
'Range("B11:E13").Clear この式を入れるならそれが最も簡単です。
For j = 2 To 5
For i = 1 To 3
Set x = Range(Cells(15, j), Cells(23, j)).Find(i, LookIn:=xlValues)
If Not x Is Nothing Then
Cells(i + 10, j) = WorksheetFunction.Index(Range("A1:A9"), WorksheetFunction.Match _
(i, Range(Cells(15, j), Cells(23, j)), False))
Else
Cells(i + 10, j) = ""
End If
Next i
Next j
End Sub
    • good
    • 0
この回答へのお礼

有難うございます。納得しました。

お礼日時:2013/03/21 17:00

> 再度クリックしても入力されたイニシャルが消えない



先に、当該範囲をクリアしとくとか。

Range("B11:E13").clear
    • good
    • 0
この回答へのお礼

有難うございます。

お礼日時:2013/03/20 20:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!