![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
visual basicを学んでまだ1週間です。
Sheet1とSheet2に配列が格納されているのですが、これらを用いて相関係数が求めたいのですが、うまくいきません。
どのように書いているかというと、
Sub 2つのシート間の配列から相関係数を求める()
Dim correlation as Double
correlation = Application.WorksheetFunction.Correl(Worksheets("Sheet1").Range(Cells(1, 2), Cells(1, 567)), Worksheets("Sheet2").Range(Cells(1, 2), Cells(1, 567)))
Cells(2,1).Value = correlation
End
添削よろしくおねがいします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
先ず、
●Range,Cellsの組み合わせでシート指定
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub0 …
に書かれた
>このコードは、「Sheet1」がアクティブなシートなら動作しますが、そうでないと実行時エラーになります。
のところの説明をご覧ください。
>シートを明示しないRangeプロパティとCellsプロパティは、
>標準モジュールならアクティブなシート、シートモジュールならそのシートで作用します。
とのことですので、こんな感じになりましょうか。。。
Dim myRng1 As Range
Dim myRng2 As Range
With Worksheets("Sheet1")
Set myRng1 = .Range(.Cells(1, 2), .Cells(1, 167))
End With
With Worksheets("Sheet2")
Set myRng2 = .Range(.Cells(1, 2), .Cells(1, 167))
End With
correlation = Application.WorksheetFunction.Correl(myRng1, myRng2)
![「異なるシートの配列を参照し、相関係数を求」の回答画像1](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/c/1501936_5497e4467ce33/M.jpg)
大変参考になりました。
研究をハイスループットに進めたいので、Visual Basicを使ってみようと思ったのですが、どうもWorkSheetプロパティがよくわかっていないみたいです。
紹介していただいたページを参考にしたいと思います。
初歩的な質問なのに丁寧にお答えいただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】全シートのセルの...
-
ブック名、シート名を他のモジ...
-
VBAで同じシート名のコピー時は...
-
Excel チェックボックスにチェ...
-
別のシートから値を取得するとき
-
実行時エラー'1004': WorkSheet...
-
ExcelVBA:複数の特定のグラフ...
-
【VBA】色のついたシート名を取得
-
コマンドボタンをクリックでシ...
-
excelのマクロで該当処理できな...
-
特定の文字を含むシートだけマ...
-
ユーザーフォームに入力したデ...
-
セルの値によって、シート見出...
-
IFステートの中にWithステート...
-
エクセルVBAでダブルクリックを...
-
XL:BeforeDoubleClickが動かない
-
Excelマクロのエラーを解決した...
-
エクセル・マクロ シートの非...
-
【エクセル】オプションボタン...
-
シート名をフォルダ名に変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
VBAで大量のファイルをシート名...
-
ユーザーフォームに入力したデ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
VBA 存在しないシートを選...
-
Excelマクロのエラーを解決した...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
実行時エラー1004「Select メソ...
-
【Excel VBA】Worksheets().Act...
-
ブック名、シート名を他のモジ...
-
エクセルのシート名変更で重複...
-
ExcelのVBAのマクロで他のシー...
-
Excel VBA 複数行を数の分だけ...
-
エクセルのマクロについて教え...
-
VBA 最終行まで数式をコピーする
おすすめ情報