アプリ版:「スタンプのみでお礼する」機能のリリースについて

   A列      B列
1行   Type   名称
2行     1    あ
3行    2    い
4行    3    う

VBA初心者のものです。ユーザー定義関数を作成して、A列のTypeの値に応じて、B列の名称の値を変化させる式を作成中です。B列2行目に、下記のユーザー関数をセル式として記述し、3・4行目にコピーしたのですが、0が表示されてしまいます。
どうしてでしょうか?






Functionめいしょう(Type, 名称)

Sheets("突合せ").Select

If  Type = 1 Then
名称 ="あ"
Exit Function
    If  Type = 2 Then
  名称 = "い"
  Exit Function
       If  Type = 3 Then
       名称 = "う"
          Exit Function
      End If
    End If
End If

End Function

A 回答 (1件)

ユーザー定義関数の作成とその使い方をよく理解して作成することが必要でしょう。


例えば次のようにします。
「開発」タブで「Visual Basic」を選択します。
表示の画面の左側でModule1をクリックし、その上部にある「コードの表示」を選択します。
右側の画面には次のコードを入力します。

Function 名称(KATA As Integer) As String
Select Case KATA
Case Is = 1
名称 = "あ"
Case Is = 2
名称 = "い"
Case Is = 3
名称 = "う"
Case Else
名称 = KATA
End Select
End Function

コードの入力ではTypeを入れることはできません。KATAを使っています。
これらの準備が整ってからシートのB2セルにはユーザー関数を使った次の式を入力し下方にオートフィルドラッグコピーします。

=IF(A2="","",名称(A2))

これでA列の数字1,2,3に応じてあ、い、う、などが表示されます。

関数を使うために次の式を入力します。
    • good
    • 0
この回答へのお礼

ありがとうございます。
1点、なぜTypeを入れることはできず、KATAでないとだめなのかが
不明なところではありますが、
望みどおりの結果をうることができました。
ご教授感謝いたします

お礼日時:2012/01/23 23:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!