|
文字列の連結ってできますか?
数式をマクロで書き込む時も、結局文字列なんですよ。
"=SUMIFS([★DATA.xlsx]ローデータ!$AG$3:$AG$999999,[★DATA.xlsx]ローデータ!$AH$3:$AH$999999,E$4,[★DATA.xlsx]ローデータ!$C$3:$C$999999,$D6,[★DATA.xlsx]ローデータ!$AK$3:$AK$999999,$B$4)"
だから、
=SUMIFS([★DATA.xlsx]ローデータ!$AG$3:$AG$
必要な、この部分と取得した最終行を連結してやればいいんです。
数式の文字 = "=SUMIFS([★DATA.xlsx]ローデータ!$AG$3:$AG$" & r & _
",[★DATA.xlsx]ローデータ!$AH$3:$AH$" & r & _
",E$4,[★DATA.xlsx]ローデータ!$C$3:$C$" & y & _
",$D6,[★DATA.xlsx]ローデータ!$AK$3:$AK$" & r & ",$B$4)"
Formulaでの相対参照って言うのかな、の変化がどう変わるのか忘れた上未確認だけど。
(2007になってからほとんど触って無いので、っていうかあまり触りたくないって気分。)
因みに
★DATA.xlsx の文字を変数に入れておくと
星ブック名 = "★DATA.xlsx"
Set WB = Workbooks(星ブック名)
で済むし
数式の文字 = "=SUMIFS([" & 星ブック名 & "]ローデータ!$AG$3:$AG$" & r & _
",[" & 星ブック名 & "]ローデータ!$AH$3:$AH$" & r & _
",E$4,[" & 星ブック名 & "]ローデータ!$C$3:$C$" & y & _
",$D6,[" & 星ブック名 & "]ローデータ!$AK$3:$AK$" & r & ",$B$4)"
なんか余計に解りづらくなった気がするけど、ブック名「★DATA.xlsx」が変わった時に、
星ブック名 = "新★DATA.xlsx"
と、変数に入れる値だけ変えれば済むという利点があります。
|
|