Excel VBA質問箱 IV

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

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


57 / 13620 ツリー ←次へ | 前へ→

【82066】ユーザー関数(引数・戻り値とも配列)にExcelシートから配列を渡したい popopo 22/9/9(金) 17:57 質問[未読]

【82068】Re:ユーザー関数(引数・戻り値とも配列)に... popopo 22/9/10(土) 2:25 質問[未読]
【82069】Re:ユーザー関数(引数・戻り値とも配列)に... マナ 22/9/10(土) 10:16 発言[未読]
【82070】Re:ユーザー関数(引数・戻り値とも配列)に... マナ 22/9/10(土) 10:26 発言[未読]
【82071】Re:ユーザー関数(引数・戻り値とも配列)に... ヘビー 22/9/23(金) 19:05 発言[未読]

【82068】Re:ユーザー関数(引数・戻り値とも配列)...
質問  popopo  - 22/9/10(土) 2:25 -

引用なし
パスワード
   マナ さん、貴重なヒントありがとうございまうす。

再現できました。C1#が不可は不思議
足掛かりにして、もう少し反応を調べてみます。

=pu(pre(A1,B1)) '{57,0}スピル表示
=pu(C1#)    '#VALUE!
=pu(pre(A1,B1)) '{57,0}スピル表示
=pu(pre(A1,B1)) '{57,0}スピル表示

ユーザー関数では、以下限定の模様ですね
 ・引数はバリアント型
 ・配列はindex=1から

【82069】Re:ユーザー関数(引数・戻り値とも配列)...
発言  マナ  - 22/9/10(土) 10:16 -

引用なし
パスワード
   ▼popopo さん:

>再現できました。C1#が不可は不思議

これも、よくわかりませんが、エラーにはなりませんでした。

Public Function Pu(p As Variant) As Long()  '配列&Range受取・配列戻り
  p = Application.Transpose(Application.Transpose(p))
  Dim ret() As Long: ReDim ret(1 To UBound(p))
  ret(1) = p(1) + p(1) '和
  ret(2) = p(1) - p(2) '差
  Pu = ret
End Function

【82070】Re:ユーザー関数(引数・戻り値とも配列)...
発言  マナ  - 22/9/10(土) 10:26 -

引用なし
パスワード
   >p = Application.Transpose(Application.Transpose(p))

TypeName(p)="Range" のときだけでよかったかもしれません。

【82071】Re:ユーザー関数(引数・戻り値とも配列)...
発言  ヘビー  - 22/9/23(金) 19:05 -

引用なし
パスワード
   変数名
C1,R1に似た物はPCによっては撥ねられます。
でもその内エラーにならなくなります。
ここが摩訶不思議。

Sub R()
a=0
End Sub

Sub C()
a=0
End Sub

Sub R1()
a=0
End Sub

Sub C1()
a=0
End Sub

なども、マクロマクロに表示され無い場合も。
でもその内表示されるようになります。
ここも摩訶不思議。
RとCは予約後らしい。

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