Excel VBA質問箱 IV

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

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


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

【51418】IIF条件の設定教えて下さい 中田 07/9/16(日) 11:27 質問[未読]
【51419】Re:IIF条件の設定教えて下さい かみちゃん 07/9/16(日) 12:43 発言[未読]
【51420】Re:IIF条件の設定教えて下さい 中田 07/9/16(日) 13:34 質問[未読]
【51421】Re:IIF条件の設定教えて下さい かみちゃん 07/9/16(日) 13:43 発言[未読]
【51431】IIF条件使用の参考 Jaka 07/9/18(火) 9:54 発言[未読]

【51418】IIF条件の設定教えて下さい
質問  中田  - 07/9/16(日) 11:27 -

引用なし
パスワード
   簡単な質問だと思いますが悩んでます
よろしくお願いします。(質問内容は中段です)
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim r As Range
  Dim xx As Variant
  Dim r_size As Long
  Dim myCol As Integer
 
  If Intersect(Target, Range("D10:O30,D32:M38")) Is Nothing Then Exit Sub
  
  For Each r In Target
   If Not Intersect(r, Range("D10:O30,D32:M38")) Is Nothing Then
     With r
      myCol = IIf(.Column <= 8, 4, 9)
      r_size = IIf(.Row > 30, 3, IIf(myCol = 4, 5, 7))
      ================↑========↑==========↑=============この文の
     条件設定を教えていただきたいのですが現在の設定は
     30行より下段は3列拡張
     30行より上はmycolがD列ですと5列拡張、I列ですと7列拡張という

     条件ですが、これを"30行より下段は3列拡張"の部分を条件"無し"とし
     "30行までですとmycolがD列ですと5列拡張、I列ですと7列拡張"の条件
     は残す場合どのように修正すればいいのでしょうか。
      Select Case True
       Case .Value Like "*見*": xx = Array(37, 10, True)
       Case .Value Like "*議*": xx = Array(35, 0, False)
       Case Else: xx = Array(xlNone, 0, False)
      End Select
      With Cells(.Row, myCol).Resize(, r_size)
       .Interior.ColorIndex = xx(0)
       .Font.ColorIndex = xx(1)
       .Font.Bold = xx(2)
      End With
     End With
   End If
  Next
End Sub

【51419】Re:IIF条件の設定教えて下さい
発言  かみちゃん  - 07/9/16(日) 12:43 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> "30行より下段は3列拡張"の部分を条件"無し"とし
> "30行までですとmycolがD列ですと5列拡張、I列ですと7列拡張"の条件
> は残す場合どのように修正すればいいのでしょうか。

30行より下段は拡張しないということでいいのでしょうか?
それであれば、以下のようにしてみてください。

      r_size = IIf(.Row > 30, 1, IIf(myCol = 4, 5, 7))

1列拡張のように見えますが、実際試してみていただけると、わかると思います。

【51420】Re:IIF条件の設定教えて下さい
質問  中田  - 07/9/16(日) 13:34 -

引用なし
パスワード
   ▼かみちゃん さん:
ありがとうございます。
>30行より下段は拡張しないということでいいのでしょうか?
>それであれば、以下のようにしてみてください。
>
>      r_size = IIf(.Row > 30, 1, IIf(myCol = 4, 5, 7))
>
>1列拡張のように見えますが、実際試してみていただけると、わかると思います。
1列拡張してしまいます 結合セルだからですか?

     DEF   GHI   JKLM      ←結合セル
32
33
34

38
上記の結合セル状態で下記のSelectCase(拡張なしで)
動作させたいのですが?

【51421】Re:IIF条件の設定教えて下さい
発言  かみちゃん  - 07/9/16(日) 13:43 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>1列拡張してしまいます 結合セルだからですか?

シートレイアウトの説明は、後出しですか?
結合セルは、どうしても使わないといけないのですか?
VBAと相性が悪いのは、ご存知ですか?

> 簡単な質問だと思いますが悩んでます

そもそも、簡単な質問ならば、
以下のご質問とそっくりなのですが、参考にされていますか?
中田さんとたなかさん・・・う〜ん・・・
http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+200709/07090096.txt

結合セルということですので、私は、撤退させていただきます。

【51431】IIF条件使用の参考
発言  Jaka  - 07/9/18(火) 9:54 -

引用なし
パスワード
   IIFを使うとかっこよく見えるのかしらないけど。
参考
Hティーtp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=47959;id=excel

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