エクセルのVBAで簡潔に表示させたいのですが、知恵を貸してください。
エクセルのVBAで現在、下記のような指示をしています。
メンテナンスが困難なため、簡潔に記載する方法または関数を教えていただけないでしょうか。
activesheet.range("c2")= "=sumproduct(('[nen.xls]1'!c4)*1)"
activesheet.range("d2")= "=sumproduct(('[nen.xls]1'!d4)*1)"
activesheet.range("e2")= "=sumproduct(('[nen.xls]1'!e4)*1)"
activesheet.range("f2")= "=sumproduct(('[nen.xls]1'!f4)*1)"
activesheet.range("g2")= "=sumproduct(('[nen.xls]1'!g4)*1)"
activesheet.range("c3")= "=sumproduct(('[nen.xls]1'!c5)*1)"
activesheet.range("d3")= "=sumproduct(('[nen.xls]1'!d5)*1)"
activesheet.range("e3")= "=sumproduct(('[nen.xls]1'!e5)*1)"
activesheet.range("f3")= "=sumproduct(('[nen.xls]1'!f5)*1)"
activesheet.range("g3")= "=sumproduct(('[nen.xls]1'!g5)*1)"
activesheet.range("c4")= "=sumproduct(('[nen.xls]1'!c6)*1)"
activesheet.range("d4")= "=sumproduct(('[nen.xls]1'!d6)*1)"
activesheet.range("e4")= "=sumproduct(('[nen.xls]1'!e6)*1)"
activesheet.range("f4")= "=sumproduct(('[nen.xls]1'!f6)*1)"
activesheet.range("g4")= "=sumproduct(('[nen.xls]1'!g6)*1)"
・
・ このパターンを全部で50回ほど繰り返します。
・
・
この繰り返し作業を簡単な記述に変更したいのですが、できません。
お知恵をお貸しください。よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
関数SUMPRODUCTの使い方をちゃんと確認したほうが良いです。
SUMPRODUCTは、複数の配列を引数として指定して、その配列要素間の積の和を求める関数です。
それはそれとして、VBAで簡素にやるのならただ一行↓で良いかと
ActiveSheet.Range("C2:G10").FormulaR1C1 = "=SUMPRODUCT(('[nen.xls]1'!R[2]C[0])*1)"
この回答への補足
回答ありがとうございます。
関数SUMPRODUCTですが本当は使いたくないのですが、他のexcelファイルからデータを取り出す際にどうしても利用しないとうまく作動しないので利用しています。
ありがとうございました。
No.2
- 回答日時:
No.1
- 回答日時:
列はC~Gの固定、行は2~のようですね。
Dim 行 As Long
Dim 列 As Long
Dim 字 As String
Dim 式 As String
For 行 = 2 To x
For 列 = 3 To 7
字 = Chr(&h60 + 列)
式 = ""=sumproduct(('[nen.xls]1'!"
式 = 式 & 字 & CStr(行 + 2) & ")*1)"
ActiveSheet.Range(字 + CStr(行)) = 式
Next
Next
Xは最終行位置です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 改ページを挿入 1 2022/12/04 23:19
- Visual Basic(VBA) エクセルVBA Workbook変数に変数を使ったファイル名を格納したい 5 2023/06/13 14:46
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルVBA 既存エクセルを開きその中のシートとしてCSVファイルを開く 3 2023/05/31 13:11
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
結合したセルの並び替え(エク...
-
【VBA】 通し番号の入力について
-
配列内データにsmallを使う
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
Excelのマクロでボタンを押すと...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセル マクロ名にブック名...
-
エクセルで、「いいね」のよう...
-
エクセルで空白行を削除する ...
-
エクセルの表を複数枚印刷した...
-
エクセルの、記録を終了したマ...
-
複数のマクロボタンをまとめて...
-
別シートのマクロボタンをマク...
-
エクセル ボタンに設定したマク...
-
VB.net
-
ブックの共有でVBAエラー
-
エクセル マクロ写真帳に一括で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
結合したセルの並び替え(エク...
-
配列内データにsmallを使う
-
【VBA】 通し番号の入力について
-
Exelの表を以下のように全行組...
-
楽天RSS エクセルのマクロで10...
-
UWSCでie内のデータを取得しエ...
-
Excel VBA データ差し込みPDF...
-
Excel vba PDF 複数ファイルを...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
エクセル関数>参照ファイル名...
-
Excelのマクロでボタンを押すと...
-
エクセルの表を複数枚印刷した...
-
エクセルの、記録を終了したマ...
-
エクセル マクロ名にブック名...
-
マクロの保存先、開いてるすべ...
-
複数のマクロボタンをまとめて...
-
エクセルで、「いいね」のよう...
-
【Excel VBA】マクロでExcel自...
おすすめ情報