こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excel2007マクロに関しまして

excel2007マクロに関して不明な点があるので教えて頂きたいです。
シートが50枚ありそれぞれのシートのN列4~15行に対し
そのシートのC列4~15行の値を60倍したものを記載したいのですが
下記入力内容中の
Range("N " & j ).Select
のところでRange メソッドの失敗が生じてしまいます。
その他にも不備があればご指摘頂きたいです。
宜しくお願いします。


Sub Macro6()
'
' Macro6 Macro
'
Dim i, j As Integer
For i = 1 To 50
With Sheets("ds1_" & i)

Range("N3").Select
ActiveCell.FormulaR1C1 = "Q(cum/m)"

For j = 4 To 15
Range("N " & j ).Select
ActiveCell.FormulaR1C1 = "=RC[-11]*60"
Next j

End With
Next i

End Sub

投稿日時 - 2010-11-11 16:03:48

QNo.6312323

困ってます

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

お書きになったマクロを動くようになおすだけなら

Sub Macro6()
Dim i, j As Integer
For i = 1 To 50
With Sheets("ds1_" & i)
.Select’セレクトされていなかった
.Range("N3").Select
ActiveCell.FormulaR1C1 = "Q(cum/m)"
For j = 4 To 15
.Range("N" & j).Select’余分なスペースが入っていた。
ActiveCell.FormulaR1C1 = "=RC[-11]*60"
Next j
End With
Next i
End Sub

でもセレクトせず

Sub TEST01()
  Dim i As Integer, j As Integer
  For i = 1 To 3
    With Sheets("ds1_" & i)
      .Range("N3").Value = "Q(cum/m)"
      For j = 4 To 15
        .Range("N" & j).FormulaR1C1 = "=RC[-11]*60"
      Next j
    End With
  Next i
End Sub

こう、書けると思います。

投稿日時 - 2010-11-11 16:39:27

お礼

ご回答ありがとうございました。
勉強になりました。
ありがとうございます。

投稿日時 - 2010-11-11 19:02:15

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

一例です、参考まで。


Sub Macro6()
'
' Macro6 Macro
'
Dim i, j As Integer
For i = 1 To Sheets.Count
Sheets(i).Range("N3").Value = "Q(cum/m)"
For j = 4 To 15
Sheets(i).Range("N" & j).Value = Sheets(i).Range("C" & j) * 60
Next j
Next i
End Sub

投稿日時 - 2010-11-11 16:33:52

お礼

参考になりました。
おかげさまで実行することができました。
ご回答ありがとうございました。

投稿日時 - 2010-11-11 18:59:46

あなたにオススメの質問