Excel VBA質問箱 IV

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

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


49172 / 76735 ←次へ | 前へ→

【32484】Re:ユーザー定義関数で
発言  kobasan  - 05/12/15(木) 21:24 -

引用なし
パスワード
   皆さん 今晩は。

質問とは別だけど、またやってみたので、分りやすかったら参考にしてください。

並びの重みを整理するのに下記の表で考えてみました。それで、
(○)(△)は×でなく表のようになるのではないかと勝手に推測して作ってみました。


        後に出る数字            
          0     1     2     3
先    0     ×     ○     ○    (○)
に    1     △     ×     ○     ○
出    2     △     △     ×    (○)
る    3    (△)    △    (△)    ×
数                    
字                    


'入力  : rng   --->調査するセル範囲
'出力  : f_compare--->○,△,×
'記述例 : =f_compare(a1:c1)

Function f_compare(rng As Range) As Variant
Dim i As Integer, j As Integer
Dim x(1 To 3) As Variant
  x(1) = rng.Cells(1).Value
  x(2) = rng.Cells(2).Value
  x(3) = rng.Cells(3).Value
  
  f_compare = "×"
  For i = 1 To 2
  For j = i + 1 To 3
    If x(i) = 0 And (x(j) = 1 Or x(j) = 2 Or x(j) = 3) Then
      f_compare = "○": Exit Function
    ElseIf x(i) = 1 And (x(j) = 2 Or x(j) = 3) Then
      f_compare = "○": Exit Function
    ElseIf x(i) = 2 And x(j) = 3 Then
      f_compare = "○": Exit Function
    '----------------------------------
    ElseIf x(i) = 1 And x(j) = 0 Then
      f_compare = "△": Exit Function
    ElseIf x(i) = 2 And (x(j) = 0 Or x(j) = 1) Then
      f_compare = "△": Exit Function
    ElseIf x(i) = 3 And (x(j) = 0 Or x(j) = 1 Or x(j) = 2) Then
      f_compare = "△": Exit Function
    End If
  Next j
  Next i
End Function


以下、やってみて一つ勉強になりました。

dim vnt
vnt=rng.Value
がユーザー関数の中で使えなくて苦労しました。
で、ichinoseさんのコードを見て
x(1) = rng.Cells(1).Value
を使うのを勉強させてもらいました。ひとつラッキーでした。

0 hits

【32387】ユーザー定義関数で まさ 05/12/13(火) 20:31 質問
【32390】Re:ユーザー定義関数で kobasan 05/12/13(火) 21:28 回答
【32391】Re:ユーザー定義関数で ichinose 05/12/13(火) 21:43 発言
【32394】Re:ユーザー定義関数で まさ 05/12/13(火) 22:32 質問
【32401】Re:ユーザー定義関数で ichinose 05/12/14(水) 9:45 発言
【32479】Re:ユーザー定義関数で まさ 05/12/15(木) 18:39 質問
【32484】Re:ユーザー定義関数で kobasan 05/12/15(木) 21:24 発言
【32486】Re:ユーザー定義関数で ichinose 05/12/15(木) 22:27 発言

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