• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel上で関数を入れるコード For Next)

Excel上で関数を入れるコード For Next

このQ&Aのポイント
  • Excel上でC列に関数を入れるコードを教えてください
  • エクセルシート上の関数のB1をB2、B3、B4と変化させて行きたいです
  • 具体的な方法を教えていただけないでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 次の様なコードにすれば、For~Nextは必要ありません。 Sub QNo9234684_Excel上で関数を入れるコード_For_Next() With Sheets("Sheet1") .Range("C1:C" & .Range("A" & Rows.Count).End(xlUp).Row).FormulaR1C1 = _ "=WEEKNUM(RC[-1])-WEEKNUM(DATE(YEAR(RC[-1]),MONTH(RC[-1]),1))+1" End With End Sub  またこの程度であれば、タイトルとEnd Subを除いて他の部分を1行で済ませてしまっても良い位です。 Sub QNo9234684_Excel上で関数を入れるコード_For_Next() Sheets("Sheet1").Range("C1:C" & Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row).FormulaR1C1 = "=WEEKNUM(RC[-1])-WEEKNUM(DATE(YEAR(RC[-1]),MONTH(RC[-1]),1))+1" End Sub

crossinlove
質問者

お礼

RC[-1]この形式はマクロ記録で表示されますね。 Range("A" & Rows.Count).はカッコ内にカウントが入っていて画期的です。 ありがとうございます。

その他の回答 (4)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.4

こんにちは このようなケースの場合はループさせる必要も無い事を覚えた方がいいです。 Sub 私の書いた第何週目かをC列に求めるコード()   Dim i As Long   i = Range("a1").End(xlDown).Row   With Range("C1:C" & i)     .Formula = "=WEEKNUM(B1)-WEEKNUM(DATE(YEAR(B1),MONTH(B1),1))+1"   End With End Sub

crossinlove
質問者

お礼

一発で入りました! メモリを食わずにすむかもしれません。 for next と併用して、メモリを食いたくないときに使用したいです。 ありがとうございます。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

"=WEEKNUM(" & Cells(i, 2) & ")-WEEKNUM(DATE(YEAR(" & Cells(i, 2) & "),MONTH(" & Cells(i, 2) & "),1))+1" ですね。 Cels(i,2) の両端にある"は不要です。B列のi行を意味する変数自体を文字列にしてるため意味ありません。 それと(の数が意味不明に多すぎますし、最後の)も意味ありません。

crossinlove
質問者

お礼

動作確認できました。 ありがとうございます。 "は文字列と認識させてしまっていました。

  • f272
  • ベストアンサー率46% (8529/18257)
回答No.2

#1です。 さっきは適当なことを書いてしまいました。 Sheets("Sheet1").Cells(i, 3).Formula = _ "=WEEKNUM(B" & i & ")-WEEKNUM(DATE(YEAR(B" & i & "),MONTH(B" & i & "),1))+1" これでよい。

crossinlove
質問者

お礼

動作確認できました。 ありがとうございます。

  • f272
  • ベストアンサー率46% (8529/18257)
回答No.1

"=WEEKNUM(" & "(Cells(i, 2)"&")-WEEKNUM(DATE(YEAR(" & "(Cells(i, 2)" &"),MONTH(" & "(Cells(i, 2)" & "),1))+1)" ですね。「"」がひとつ足りません。

crossinlove
質問者

お礼

ありたとうございます。

関連するQ&A

専門家に質問してみよう