[[20180808170317]] 『formula = 』(VBA勉強中) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『formula = 』(VBA勉強中)

VBAでSUMIFSを書き込みたいのですが
for next でループさせた列指定方法がわからず立ち往生しています…

=SUMIFS(列:列,列:列,指定セル(A1))
列は全てfor i 1 to 100 nextみたいな感じで
番号で指定したいです。
どのようにすれば動かせるようになりますか…!
説明下手ですいませんご助力頂けると幸いです。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 単純に文字連結すればいいです。

 "=SUMIFS(" & 列 & ":" & 列 & "," & 列 & ":" & 列 & "," & "指定セル(A1))"

 Columns(列).Address を使う方法もあるけど、まずは上ができるようになっては・・・。
(BJ) 2018/08/08(水) 17:27

BJさん
コメントありがとうございます。
列指定の際に別sheetを一緒に指定したい時はどうすればいいでしょうか…?

 "=SUMIFS(" & 別シートsheet(" & 列 & ":" & 列 & ") & "," & 別シートsheet(" & 列 & ":" & 列 & ") & "," & "指定セル(A1))"
という感じでやってみたんですけどエラー吐いてしまいました…

(VBA勉強中) 2018/08/08(水) 19:11


本気で勉強したいなら一部分ではなく実際に書いたコード全文を貼ったほうがいいですよ。
それに「エラー吐いてしまいました…」じゃなくて「エラーメッセージ」を書くべきです。

それとFormulaなどの設定内容の書き方がよくわからないときは、マクロの記録を使って手動で数式を設定した時どのように記述されたか読み取ることで大抵はなんとかなります。

シート指定の方法もそれで特定できるでしょう。
(通りすがり) 2018/08/08(水) 20:55


 まずは、文字列の連結を勉強した方がいいようです。

 >"=SUMIFS(" & 別シートsheet(" & 列

 これでは、全く連結になってません。
 書き込んだ数式を良く見て、希望の文字列になるように組み合わせる。

 最初は、左の「=」を消して、セルに書き込んだ文字が数式として成り立つのか
 確認後、「=」を付け足したほうがいいかも。
 (数式として認識されないので、数式として通用しなくてもエラーにならない。) 

 何も見ないで勘だけで書いているから、=Sheet2!A1 などの「!」が抜けているし・・・。
 "=SUMIFS(別シートsheet!" & 列

 ああ、忘れてた。
 数式の列の場合は、数字じゃなくアルファベットだった。

 "=SUMIFS(別シートsheet!" & Columns(列).Address & ",別シートsheet!" &  Columns(列).Address & ・・・・・

(BJ) 2018/08/08(水) 21:29


通りすがりさん
確かにエラーメッセージを書くべきですよね…失礼いたしました。

マクロの記録…なるほど考えてなかったです。
使ってみます。ありがとうございます。

BJさん
最初から=つけてるから自分でもよくわからなくなってるのですね…
ありがとうございます。修正してみます!
(VBA勉強中) 2018/08/09(木) 14:25


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.