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
No.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に応じてあ、い、う、などが表示されます。
関数を使うために次の式を入力します。
ありがとうございます。
1点、なぜTypeを入れることはできず、KATAでないとだめなのかが
不明なところではありますが、
望みどおりの結果をうることができました。
ご教授感謝いたします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelのプルダウンで2列分の情...
-
特定のセルが空白だったら、そ...
-
【Excel】指定したセルの名前で...
-
【Excel VBA】指定行以降をクリ...
-
特定の文字を条件に行挿入とそ...
-
VBAでセルをクリックする回...
-
エクセルVBAでコピーして順...
-
【VBA】指定したセルと同じ値で...
-
ExcelのVBAで数字と文字列をマ...
-
【VBA】シート上の複数のチェッ...
-
DataGridViewの各セル幅を自由...
-
Excel VBA、 別ブックの最終行...
-
Excel vbaで特定の文字以外が入...
-
セル色なしの行一括削除
-
Excelで指定した日付から過去の...
-
連続する複数のセル値がすべて0...
-
セルの結果でマクロ実行
-
EXCELのVBA-フィルタ抽出後の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
Excel vbaで特定の文字以外が入...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
Excelのプルダウンで2列分の情...
-
EXCELで変数をペーストしたい
-
連続する複数のセル値がすべて0...
-
Excel VBA、 別ブックの最終行...
-
VBAを使用した時間管理
-
エクセルVBAでコピーして順...
-
セル色なしの行一括削除
-
【EXCEL VBA】Range("A:A").Fi...
-
VBA コピーして次の値まで貼り...
-
VBA初心者です。結合セルを保持...
おすすめ情報