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

よろしくご教授ください。
VisualBasicで、マクロを組む初心者です。
以下のようにダブルクリックを対象の行で行うと、"通常"と自動表示され、再度ダブルクリックをすると空白になる、と組みました。
そこを、2回目のダブルクリックで"特別"、3回目で空白にもどるようにしたいのですが、うまくできません。
どなたか、ご存知でしたらよろしくご指導くださいませ。


Case 1
If IsEmpty(Target) Then
Target.Value = "通常"
Else
Target.Value = Empty
End If
Cancel = True

A 回答 (2件)

こんにちは。



Select Case 構文で、カウントを取ろうとしたけれども、それが出来ないから、という質問のようですが、もう一度、組み立てをしてみてください。

ダブルクリックを対象の行(以下のコードでは、省略します)
1回目のダブルクリックで"通常"
2回目のダブルクリックで"特別"、
3回目で空白にもどる

もし、これが、"通常"と入った後に、空白にして、また、次にダブルクリックの時に、"特別" と入るようなら、これは、なかなか難しいです。配列なんていう方法もあるかもしれませんが、それは、Excelの考え方ではありませんからね。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   With Target
    If IsEmpty(.Value) Then
      .Value = "通常"
    ElseIf .Value Like "通常*" Then
      .Value = "特別"
    Else
      .ClearContents
    End If
  End With
  Cancel = True
End Sub

なお、私は、.Value ="通常" とは、なんとなくですが、していません。

この回答への補足

ありがとうございます。
空白 → ”通常” → ”特別” → 空白 ...となってくれるのが理想ですので、きっとお教えくださった方法ですね。月曜に会社で早速やってみます。ご親切に教えて下さりありがとうございました。

補足日時:2008/03/08 11:58
    • good
    • 0
この回答へのお礼

希望通りにでき、本当に助かりました。これからも勉強します。どうもありがとうございました!

お礼日時:2008/03/10 21:52

> Case 1


> If IsEmpty(Target) Then
> Target.Value = "通常"
> Else
> Target.Value = Empty
> End If
> Cancel = True

このコードはご自分で組まれたんですよね?
これを組めるのに、なぜご質問されていることが解らないのかが不思議です。
ご自分で組まれたコードをちゃんとご理解なさっていますか?

この回答への補足

すみません、しっかりは理解してません。教えてもらいながら、本を見ながらやってみたものです。教えてくれた方が中々捕まらず、困ってしまいご質問させて頂きました。ありがとうございました。

補足日時:2008/03/08 12:02
    • good
    • 0

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