advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 37685 for IF (0.007 sec.)
[[20150207120851]]
#score: 1591
@digest: 2c3048a649115433f63523d547e867b1
@id: 67236
@mdate: 2015-02-07T12:23:07Z
@size: 5914
@type: text/plain
#keywords: vbmodeless (26250), bb17 (20163), bb13 (16477), userform2 (11859), ba5 (9701), f43 (8839), userform1 (8760), f44 (8016), 目悪 (7380), f42 (6540), 訳? (6024), target (5204), show (4847), hide (4787), ・指 (4198), selectionchange (3562), intersect (3331), f14 (3117), 定セ (2694), 応動 (2151), リジ (2096), ジナ (1985), オリ (1763), nothing (1612), ナル (1499), column (1395), f13 (1381), else (1276), union (1216), ル領 (1198), ル以 (1173), 土) (1146)
『指定セルを選択するとFormを表示させる方法』(まさ)
引き続きお世話になります。 下記コードは、ワークシートモジュールに記載しているものです。 処理内容は ・指定セルを選択するとFormを表示し ・指定外セルの場合はFormを閉じる といった動作をします。 質問は、 IF Target.Row = 4 And Target.Column = 6 Then の部分について ↓ IF Target. Range("F4") Then と言った感じで記載したいのですが、型が一致しませんとでます。 正しい記述方法についてアドバイスの程よろしくお願いします。 現在の、コードです(見た目悪いかもしれませんが一応動いているみたいです) ' ◆Worksheetのコード◆ Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row = 4 And Target.Column = 6 Then UserForm1.Show vbModeless Else If Target.Row = 13 And Target.Column = 6 Then UserForm1.Show vbModeless Else If Target.Row = 14 And Target.Column = 6 Then UserForm1.Show vbModeless Else If Target.Row = 42 And Target.Column = 6 Then UserForm1.Show vbModeless Else If Target.Row = 43 And Target.Column = 6 Then UserForm1.Show vbModeless Else If Target.Row = 44 And Target.Column = 6 Then UserForm1.Show vbModeless Else If Target.Row = 5 And Target.Column = 53 Then UserForm1.Show vbModeless Else If Target.Row = 13 And Target.Column = 54 Then UserForm1.Show vbModeless Else If Target.Row = 17 And Target.Column = 54 Then UserForm1.Show vbModeless Else UserForm1.Hide End If End If End If End If End If End If End If End If End If If Target.Row = 6 And Target.Column = 53 Then UserForm2.Show vbModeless Else UserForm2.Hide End If End Sub < 使用 Excel:Excel2010、使用 OS:Windows7 > ---- If Not Application.Intersect(Target, Union(Range("F1"), Range("F6"))) Is Nothing Then UserForm1.Show vbModeless else ・・・ End If (H) 2015/02/07(土) 13:24 ---- 一例です。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Select Case Target(1).Address(False, False) Case "F4", "F14", "F42", "F43", "F44", "BA5", "BB13", "BB17" UserForm1.Show vbModeless End Select If Intersect(Target, Range("BA6")) Is Nothing Then UserForm2.Hide Else UserForm2.Show vbModeless End If End Sub (β) 2015/02/07(土) 19:26 ---- もし、Intersect処理がお望みなら Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("F4, F14, F42, F43, F44, BA5, BB13, BB17")) Is Nothing Then UserForm1.Show vbModeless If Intersect(Target, Range("BA6")) Is Nothing Then UserForm2.Hide Else UserForm2.Show vbModeless End If End Sub (β) 2015/02/07(土) 20:03 ---- セル領域に抜けあり。 Case "F4", "F13", "F14", "F42", "F43", "F44", "BA5", "BB13", "BB17" If Not Intersect(Target, Range("F4, F13, F14, F42, F43, F44, BA5, BB13, BB17")) Is Nothing Then UserForm1.Show vbModeless (β) 2015/02/07(土) 20:15 ---- To (H)さん Union(Range("F1"), Range("F6")) これはオリジナルコードの読み違いだとして(たぶん・・・) この領域は Union メソッドを使わずとも Range("F1,F6") で直接指定可能です。 Sub Test() MsgBox Union(Range("F1"), Range("F6")).Address & vbLf & _ Range("F1, F6").Address End Sub なお、 Range("F1,F6") は F1「と」F6 ですが、Range("F1","F6") と記述すると F1 「から」 F6 となります。 ご参考まで。 (β) 2015/02/07(土) 20:58 ---- Hさん βさん ありがとうございます。 動作確認しました。 Form2は、指定セル以外は、閉じるようになっておりますが Form1が、指定セル以外は、閉じないようです。 下記のコードの部分で、UserForm1.Hide する場合 どの部分にコードを記述すればよろしいのでしょうか? すみません、アドバイスよろしくお願いします。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("F4, F14, F42, F43, F44, BA5, BB13, BB17")) Is Nothing Then UserForm1.Show vbModeless If Intersect(Target, Range("BA6")) Is Nothing Then UserForm2.Hide Else UserForm2.Show vbModeless End If End Sub (まさ) 2015/02/07(土) 21:00 ---- コードのその部分を見過ごしていました。(オリジナルコードがきわめて見づらいので、と言い訳?) Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("F4, F13, F14, F42, F43, F44, BA5, BB13, BB17")) Is Nothing Then UserForm1.Show vbModeless Else UserForm1.Hide End If If Intersect(Target, Range("BA6")) Is Nothing Then UserForm2.Hide Else UserForm2.Show vbModeless End If End Sub または Private Sub Worksheet_SelectionChange(ByVal Target As Range) Select Case Target(1).Address(False, False) Case "F4", "F13", "F14", "F42", "F43", "F44", "BA5", "BB13", "BB17" UserForm1.Show vbModeless Case Else UserForm1.Hide End Select If Intersect(Target, Range("BA6")) Is Nothing Then UserForm2.Hide Else UserForm2.Show vbModeless End If End Sub (β) 2015/02/07(土) 21:23 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201502/20150207120851.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97045 documents and 608216 words.

訪問者:カウンタValid HTML 4.01 Transitional