[[20141212102305]] 『ダブルクリックイベントで複数のマクロを登録した』(momo) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ダブルクリックイベントで複数のマクロを登録したい』(momo)

アクティブセルをダブルクリックすると、下方向に計3セルが結合し
さらにダブルクリックとその結合が解除されるマクロが作成したいです。
下記のコードを作成しましたが、結合解除をどうしたら良いかわからず困っています。
ご教授いただけると幸いです。

Sub セル結合()

ActiveCell.Resize(3, 1).Merge

End Sub

Sub 結合解除()

ActiveCell.Resize(3, 1).UnMerge

With ActiveCell

     With .Borders(xlEdgeTop)
          .LineStyle = xlContinuous
          .Weight = xlThick
          .ColorIndex = xlAutomatic
     End With

End With
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

  If Intersect(Target, Range("A5:AA200")) Is Nothing Then Exit Sub

  Call セル結合

  Cancel = True

End Sub

< 使用 Excel:Excel2010、使用 OS:Windows7 >


  こういうことでしょうか?

 ActiveCell.Resize(3).MergeCells = Not ActiveCell.Resize(3).MergeCells
(カリーニン) 2014/12/12(金) 10:40

カリーニン様

1行でできてしまうんですね!!
教えて頂いたコードで思い通りに動きました!!
ありがとうございました!!

momo
(momo) 2014/12/12(金) 10:42


度々すみません。

下記の様にするには、どの様に修正すれば良いでしょうか?

1回目ダブルクリック⇒ セルを下方向に2つ結合
2回目ダブルクリック⇒ 結合解除
3回目ダブルクリック⇒ セルを下方向に3つ結合
4回目ダブルクリック⇒ 結合解除

(momo) 2014/12/12(金) 13:17


 横から失礼します。

 考え方変えたほうがいいんでねえですか?
 なんでかっていうと、1回目と3回目を区別しようとするとめんどくさいからです。

 たとえばこういうときはどう扱いますか?
 A1セルダブルクリック(1回目) → 再度ダブルクリック(2回目)
 B1選択 → A1セルダブルクリック(3回目??)

 または
 A1セルダブルクリック(1回目) → 再度ダブルクリック(2回目)
 ブックを閉じて開きなおす → A1セルダブルクリック(3回目??)

 または
 A1セルダブルクリック(1回目) → 再度ダブルクリック(2回目)
 A2セルダブルクリック(3回目??)

 どういうタイミングで使うか説明されると、別の提案もできるかと思います。

 という感じに仕様を明確に決める必要があるのではないでしょうか?

 (2010なら右クリックメニューで結合できるのにわざわざダブルクリックのイベントにする必要があるのか
  不明っす)

(稲葉) 2014/12/12(金) 13:31


稲葉様

2010で登録してしまいましたが、実際は古いverのものです。
確かに、1回目と3回目を区別するのは難しそうですね・・・。
セルの結合があったりなかったり、色があったりなかったり
かなりランダムな表を毎日チクチクいじるので
なんとか効率化できないかと思ったのですが・・・
2つのセルを結合は、手動でやりたいと思います。
ありがとうございました。

(momo) 2014/12/12(金) 17:29


 であれば、ショートカットキーとして、セルの結合を当てはめる等で効率化できないでしょうか?

http://www.moug.net/tech/exvba/0150112.html
(稲葉) 2014/12/12(金) 17:55


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.