![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
エクセルのVBAで下記のTTESTがエラーになってしまいます。
Cells(8, i + j) = WorksheetFunction.TTest(Range(Cells(i + j, ts1), Cells(i + j, te1)), Range(Cells(i + j, ts2), Cells(i + j, te2)), 2, 2)
ワークシートで直接入れるとちゃんと計算してくれます。=TTEST(BQ2:BQ6,BQ7:BQ34,2,2)
どうしてでしょうか?
配列を設定使って試してみましたが同じでした。
なお、下記のように直接設定しても「:」でエラーになってしまいます。
Range("CN8") = TTest(BP2:BP6,BP7:BP34,2,2)
以上、よろしくお願いします。
![「エクセルのVBAでTTESTがエラーにな」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/3/542427390_580061f82f25e/M.png)
No.2ベストアンサー
- 回答日時:
いくつか検証してみましたが、
どうやら、マクロの範囲の中での問題のようですね。
TTest でも、間違いはありませんね。
Range(Cells(i + j, ts1), Cells(i + j, te1))
Range(Cells(i + j, ts2), Cells(i + j, te2))
横に長いデータのようですが、
エラー防止は、このようにしてみたらいかがでしょうか。
直接代入するのもよいのですが、物事は単純化して見やすくしたほうが、間違いが見つけやすいです。
Set r1 = Range(Cells(i + j, ts1), Cells(i + j, te1))
Set r2 = Range(Cells(i + j, ts2), Cells(i + j, te2))
If r1.Count <> r2.Count Then
Cells(8, i + j).Value = WorksheetFunction.TTest(r1, r2, 2, 2)
Else
Cells(8, i + j).Value = WorksheetFunction.TTest(r1, r2, 2, 1)
End If
教えていただきありがとうございました。
シンプルにする方法を以下に試してみました。
i+j=68
ts1=2
te1=6
ts2=7
te2=34
Bp=68
○ Set r1 = Range("Bp2:Bp6")
○ Set r2 = Range("Bp7:Bp34")
× Set r1 = Range(Cells(i + j, ts1), Cells(i + j, te1))
× Set r2 = Range(Cells(i + j, ts2), Cells(i + j, te2))
x = Application.WorksheetFunction.T_Test(r1, r2, 2, 2)
MsgBox "x= " & x
結果は、cellsで指定した場合は同じエラーになりましたが、 Range("Bp2:Bp6")のように直接指定した場合はOKでした。
もう少し、御知恵を拝借できないでしょうか?
よろしくお願いします。
No.1
- 回答日時:
「WorksheetFunction.TTest」ではなく「WorksheetFunction.T_Test」ではダメですか?(一部の関数は名称が微妙に変わっているようです)
またExcelはExcel2013以降でしょうか?Excel2010以前は未対応みたいです。
https://msdn.microsoft.com/ja-jp/library/office/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Excel(エクセル) エクセル VBAの構文について 2 2023/02/10 18:26
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応 3 2022/12/27 22:27
- Excel(エクセル) VBAのエラーが直せません 4 2023/06/12 22:10
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
既婚で現役のAV女優さんは居ま...
-
VBA ソートすると、1、11、...
-
4次元について
-
Word 黒塗り部分の文字のみ削除...
-
シンナーの夏型と冬型の違いは?
-
オートフィルター抽出時データ...
-
女性が頼まれなくてもフェラす...
-
データの平均を1分値にまとめる...
-
YmobileからSoftbankに乗り換え...
-
CDレコの曲の消し方を教えてく...
-
射精したあとの匂いって他人に...
-
おっぱいを舐める
-
先日彼氏とラブホに行ったら電...
-
夫にセックスがないのなら他人...
-
1日3回セックスって多いですか...
-
精液のにおいがほとんど無いの...
-
彼女をオカズにして抜くのって...
-
手マンした手って臭いですか?
-
男の精子ってどんな匂いですか、
-
彼とのエッチで、彼がイクのが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
既婚で現役のAV女優さんは居ま...
-
VBA ソートすると、1、11、...
-
CDレコの曲の消し方を教えてく...
-
大昔から、クンニ、フェラって...
-
シンナーの夏型と冬型の違いは?
-
VBAが止まります。
-
別ブックの空白行に転記
-
エクセル最終行の下に貼り付け
-
相対参照から絶対参照に変換す...
-
女性が頼まれなくてもフェラす...
-
ExcelVBAで指定文字(この場合...
-
直線コネクタの中央にコネクタ...
-
最適な組み合わせの自動計算
-
bluetoothのclass1とclass2の互...
-
私は今年で60歳で孤独です。40...
-
Word 黒塗り部分の文字のみ削除...
-
Excelで抽出・連続印刷したいです
-
EXCELで3行を一組にして結合す...
-
とても初歩的な質問
-
scilabのエラーに関して
おすすめ情報
cellsはだめでしたのRangeに直接変数を代入したら出来ました。
st1 = Cells(ts1, K).Address(RowAbsolute:=False, ColumnAbsolute:=False)
en1 = Cells(te1, K).Address(RowAbsolute:=False, ColumnAbsolute:=False)
hensu = st1 & ":" & en1
Set r1 = Range(hensu)
Cells(8, L + i) = Application.WorksheetFunction.T_Test(r1, r2, 2, 2)
ありがとうございました。