Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
ダブルクォーテーションにって
投稿日時: 18/01/16 10:40:13
投稿者: Dellcasio

お世話になります。
エクセル関数でセルに絶対値の$がある場合の
ダブルクォーテーションの使い方がわかりません
ご指導を頂けないでしょうか?
宜しくお願い致します。
 
 
For i = 2 To 6
 
range("E" & i ).formula = "=NETWORKDAYS.INTL(" & A & " & i," & A & " i,1," & $F$3 & ":" & $F$22 & ")"
 
Next i
 

回答
投稿日時: 18/01/16 10:59:53
投稿者: mattuwan44

その関数の使い方がよくわからないので、
どういう文字列になって欲しいか解らないですが、
 
"=NETWORKDAYS.INTL(A" & i & ", A1,$F$3:$F$22)"
 
こんな感じでいいのかな?
 
変数(数値)部分だけを切り分ければいいと思いますけど?
 

回答
投稿日時: 18/01/16 11:05:52
投稿者: bi

Range("E" & i).Formula = "=NETWORKDAYS.INTL(A" & i & ",A" & i & ",1,$F$3:$F$22)"
ちなみに開始日と終了日のセルが同じですけど大丈夫ですか?
 
あと週末番号が1なら普通にNETWORKDAYSでもよさそうな気が。
Range("E" & i).Formula = "=NETWORKDAYS(A" & i & ",A" & i & ",$F$3:$F$22)"

回答
投稿日時: 18/01/16 11:11:12
投稿者: もこな2

メモ帳でぽちぽち打ってたら他の回答が付いてましたけど、せっかくなので投稿しておきます。
 
数式の設定にかかわらず、VBA上で文字列として扱うには、ダブルクォーテーションで括るっているルールがあります。
なので 「$」っていう文字を文字列として 扱ってほしいなら "$" という記述になります。
今回のケースで言えば、変数「i」の前後をダブルクォーテーションで括って文字列として「i」と結合させてやればいいとおもいます。
 
それを踏まえて修正(関数が正しいのかは見てないので、そこはご自身でお願いします))
Range("E" & i).Formula = "=NETWORKDAYS.INTL(A" & i & ", A" & i & ",1, $F$3:$F$22)"

投稿日時: 18/01/16 11:12:25
投稿者: Dellcasio

mattuwan44さん
ご回答ありがとうございました。
出来ました。
ありがとうございました。