質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

3回答

806閲覧

Fuctionの戻り値を別のセル上に展開したい

morison

総合スコア10

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2021/08/29 14:34

▽▽▽ 実現したいデータ ▽▽▽
A B C D E F
1 P1,Q1,R1,S1 P1 Q1 R1 S1
2 P2,Q2,R2 P2 Q2 R2
3 P3,Q3,R3,S3,T3 P3 Q3 R3 S3 T3

 ▽▽▽ 実現したいデータ ▽▽▽

実現したいことは
vbaでユーザー関数 Bunri で新規作成します A列のカンマ区切りの値を引数に渡して、B1,B2,B3, 上でBunri(A1),Bunri(A2),Bunri(A3) として実行します 
戻り値をカンマの要素数分の値を展開させたいです 
▽▽▽ 実現したいデータ ▽▽▽ にさせたいです

詳細はこちら
1列目は4要素あるので、B1セル "P1" C1セル "Q1" D1セル "R1" Eセル "S1"
2列目は3要素あるので、B2セル "P2" C2セル "Q2" D2セル "R2" "
1列目は4要素あるので、B3セル "P1" C3セル "Q1" D3セル "R1" E3セル "S1" T3セル "T3"
実行はB列のセルで、引数はA列、戻り値はB列含めた要素数を横に展開したいです

どのようなvba の function コードを記載していいかご教示いただけないでしょうか?

Function Bunri(arg1 as string)

End Function

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

iruyas

2021/08/29 23:37

使用するエクセルのバージョンを明記してください。
guest

回答3

0

自己解決

ありがとうございました
クローズしてください

投稿2021/09/17 04:23

morison

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BluOxy

2021/09/17 04:33 編集

回答が解決に役立ったのであればそちらをベストアンサーに選びましょう。 そうではなく morison さんご自身で考えた手段で解決されたのでしたらその手段を自己回答に記載しましょう。
guest

0

jinojiさんの方法でよいと思いますが、スピルが使えない場合は、次のようになるでしょうか?

VBA

1Function Bunri(arg1 As String, index As Long) 2 Bunri = Split(arg1, ",")(index - 1) 3End Function

2番目の引数は、区切られた値の何番目の要素を出力するかを表します。
次のように使います。
セルB1:=bunri(A1,1) → 「P1」が表示される
セルC1:=bunri(A1,2) → 「Q1」が表示される

投稿2021/08/30 08:37

hex309

総合スコア761

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Excelのユーザ定義関数の制限として、別のセルの値の変更はできないそうです。
ただし、最新のMicrosoft 365(Office365)などで使えるスピル機能を使うと、
以下のようにすることでご所望の動作が実現するはずです。

VBA

1Function Bunri(arg1 As String) 2 Bunri = Split(arg1, ",") 3End Function

投稿2021/08/29 23:36

jinoji

総合スコア4585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

morison

2021/09/17 04:20

回答ありがとうございました 無事クローズとさせてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問