Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4917 / 13644 ツリー ←次へ | 前へ→

【53620】結合セルについて わいわい 08/1/25(金) 18:31 質問[未読]
【53621】Re:結合セルについて りん 08/1/25(金) 19:20 回答[未読]
【53622】Re:結合セルについて わいわい 08/1/25(金) 20:19 お礼[未読]
【53623】Re:結合セルについて VBWASURETA 08/1/26(土) 2:23 発言[未読]
【53624】Re:結合セルについて わいわい 08/1/26(土) 9:25 お礼[未読]

【53620】結合セルについて
質問  わいわい  - 08/1/25(金) 18:31 -

引用なし
パスワード
   お願いします。
友人に頼まれて、バレーの練習係当番割り振り表 を作ってるんですが、


'ダブクリセルに有る名前の人のセルに色を塗るよん--------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Target = Selection
Cancel = True

'範囲の条件------------------------------------------
If Target.Row Mod 3 <> 0 Or 5 > Target.Row Or Target.Row > 61 Then Exit Sub
If 2 >= Target.Column Or Target.Column >= 8 Then Exit Sub
If IsEmpty(Target) Then
  MsgBox "外れ! (○`ε´○) ちゃんと名前のセルを狙うんだ!"
  Exit Sub
End If

'こっからが本番 ----------------------------------


セルの構造はA列がRow5〜7、以下3セルづつで 結合されています。
上記コードで、Exit してくれるんですが、結合セルに入力して有る文字が
クリアーされてしまいます。
If Target.MergeCells = True Then Exit Sub

でも、文字がクリヤーされてしまいます。
『結合やめろよ』で済む話ですが、なんだか気になって…。
どなたか教えて下さい。

PS. 文章はやっぱり苦手です。質問内容がわかり難かったらすみません。(-_-;)

【53621】Re:結合セルについて
回答  りん E-MAIL  - 08/1/25(金) 19:20 -

引用なし
パスワード
   わいわい さん、こんばんわ。

>お願いします。
>友人に頼まれて、バレーの練習係当番割り振り表 を作ってるんですが、
>
>
>'ダブクリセルに有る名前の人のセルに色を塗るよん--------------
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

↓こいつが不要です。
>Target = Selection


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  '
  Cancel = True
  '範囲の条件------------------------------------------
  If Target.Row Mod 3 <> 0 Or 5 > Target.Row Or Target.Row > 61 Then Exit Sub
  If 2 >= Target.Column Or Target.Column >= 8 Then Exit Sub
  If IsEmpty(Target) Then
   MsgBox "外れ! (○`ε´○) ちゃんと名前のセルを狙うんだ!"
   Exit Sub
  End If
  'こっからが本番 ----------------------------------
  If Target.MergeCells = True Then
   MsgBox Target.Cells(1).Value, vbInformation, Target.Address
  Else
   MsgBox Target.Value, vbInformation, Target.Address
  End If
End Sub

こんな感じです。

【53622】Re:結合セルについて
お礼  わいわい  - 08/1/25(金) 20:19 -

引用なし
パスワード
   りん さん
どうもありがとうございます。

標準の時にもTargetは結構使うので、イベントの時にもやってた気がする...。(汗)

>↓こいつが不要です。
>>Target = Selection
あは、そーなんだ、それはそれとして、何が違うんだ? 
と小娘&小僧と格闘しながら一生けんめいさがしていて返信遅れました。すみません。

それが真犯人だったんですね。

理由はまだ解りませんが、難攻不落のヘルプヤローを攻略したりして調べます。
本当にありがとうございました。

【53623】Re:結合セルについて
発言  VBWASURETA  - 08/1/26(土) 2:23 -

引用なし
パスワード
   ▼わいわい さん:

こんばんは。

多分で、書いてますが^^;

結合されたセルA1、B1、C1がある場合、
B1セルに何かセットしてしまうと、結合が邪魔になる?
ような動きで結合が解除されてしまうのかも知れません。

前に同じような動きになって結合された場所は、A1以外は書かない
ようにしました。

かなり憶測な対応してますが^^;

【53624】Re:結合セルについて
お礼  わいわい  - 08/1/26(土) 9:25 -

引用なし
パスワード
   VBWASURETA さん 返信ありがとうございます。

標準モジュールに
Option Explicit

Sub なせだ()
Dim Target   As Range
Set Target = Selection
Target.Interior.ColorIndex = 6
End Sub

で試して問題なしだったんで、あぅぅ! Sst 忘れてた〜 って事に気付きました。
(ByVal Target As Range, Cancel ・・・)の中身を理解する必要がある事を知りました。
このスレは、宣言終わってるのにまたやろうとして、しかも Sst忘れてた
という、おちなのか?

4917 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free