Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9693 / 76734 ←次へ | 前へ→

【72600】Re:入れ子
発言  kanabun  - 12/8/28(火) 9:06 -

引用なし
パスワード
   ▼杏子 さん:


>Range("I" & intDataCnt).Formula = _
>  "=CONCATENATE(A" & intDataCnt & ",B" & intDataCnt & ",C" & intDataCnt & ",D" & intDataCnt & ",E" & intDataCnt & ",F" & intDataCnt & ",G" & intDataCnt & ",H" & intDataCnt & ")"
>
>Range("J" & intDataCnt).Formula = "=VLOOKUP(I" & intDataCnt & ",オーダ明細!A:A,1,0)"
>
>Range("K" & intDataCnt).Formula = "=IF(I" & intDataCnt & "=J" & intDataCnt & ",""○"",""×"")"


プロシージャの最初で文字列定数を3つ宣言しておく

 Const ssI = "=CONCATENATE(A●,B●,C●,D●,E●,F●,G●,H●)"
 Const ssJ = "=VLOOKUP(I●,オーダ明細!A:A,1,0)"
 Const ssK = "=IF(I●=J●,""○"",""×"")"

と、
上の3行は
Range("I" & intDataCnt).Formula = Replace(ssI, "●", intDataCnt)
Range("J" & intDataCnt).Formula = Replace(ssJ, "●", intDataCnt)
Range("K" & intDataCnt).Formula = Replace(ssK, "●", intDataCnt)

と記述することができます。

本来は 別スレでもアドバイスあるように、
ループする必要などないと思いますけど。
また、
> =VLOOKUP(I●,オーダ明細!A:A,1,0)

一列のVLOOKUP 式ももったいないので、MATCH とINDEXでまとめる
ことが出来そうに思いますけど。



1 hits

【72599】入れ子 杏子 12/8/28(火) 8:07 質問
【72600】Re:入れ子 kanabun 12/8/28(火) 9:06 発言
【72601】Re:入れ子 kanabun 12/8/28(火) 9:12 発言
【72609】Re:入れ子 UO3 12/8/28(火) 11:59 発言
【72610】Re:入れ子 UO3 12/8/28(火) 12:31 発言
【72611】Re:入れ子 杏子 12/8/28(火) 12:50 お礼

9693 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free