プロが教える店舗&オフィスのセキュリティ対策術

最終列の値の代入をここで教えていただいてできました。

J = Range("IV2").End(xlToLeft).Column
For i = J to 1 Step -1
If InStr(Cells(2, i).Value, "単価") > 0 Then
Cells(3, i).Value = Cells(3, J).Value
End If
Next i
この、Cells(3, i).Value = Cells(3, J).Value を、

"単価"列の最終行までコピーするには
どのような記述をしたらいいでしょうか?
しばらく悩んでいますができません。。。

お力を貸してください。!

A 回答 (5件)

単価と言う文字を含むタイトルがある列(以下 単価列)があり、その単価列を探して、全ての単価列に最終列の値を入れていくの?



仕様が良く理解出来ませんが、、、

Cells(3, i).Value = Cells(3, J).Value



for r = 3 to cells(65536,i).end(xlup).row
 cells(r, i).Value = Cells(r, J).Value
next r

で希望通り?

この回答への補足

ご回答ありがとうございました!

今動かしておりますが、空欄が返ってきてしまいます。
もう少しいじってみます。。

補足日時:2007/02/05 22:02
    • good
    • 0

> "単価"列の最終行までコピーするには



先ほどの質問もそうでしたが、仕様を書かないと回答者は推測でしか答えられません。
"単価"列の最終行は何で判断するのですか?単価の列にはまだ何も入力されていないのですよね?だったら、例えばA列の入力された最終行と同じとか、そういう情報をお知らせくださったほうが的確な回答が得られると思います。

この回答への補足

ご回答ありがとうございます。

言葉が足りなくてすみませんでした。
一番右の列には、単価列と同じ行数あります。

おっしゃる通り、単価列には、何も入力していません。。

よろしくお願いします。

補足日時:2007/02/05 21:57
    • good
    • 0

#2です。



> 一番右の列には、単価列と同じ行数あります。

A列ではなく、2行目の一番右の列の行数を基準にするんですね?

Sub TEST()
Dim i As Integer, x As Integer
Application.ScreenUpdating = False
x = Cells(2, ActiveSheet.Columns.Count).End(xlToLeft).Column
For i = x To 1 Step -1
If InStr(Cells(2, i).Value, "単価") > 0 Then
For r = 3 To Cells(ActiveSheet.Rows.Count, x).End(xlUp).Row
Cells(r, i).Value = Cells(r, ActiveSheet.Columns.Count).End(xlToLeft).Value
Next r
End If
Next i
Application.ScreenUpdating = True
End Sub

ではおやすみなさい。
    • good
    • 0
この回答へのお礼

何度も本当にありがとうございました。

できました!

すぐにコードを記述できるとは、本当にすごいと
つくづく思いました。

何時間やってもさっぱりすすまないので、
本当に力をかしていただきありがとうございました!!

お礼日時:2007/02/06 00:16

#1です。



最終列の3行目~最後行までの値を「単価」と言う言葉をタイトルに含む列全てにコピーするって事?
そもそも「単価」って言葉をタイトルに含む列が沢山ある仕様が良く解らんですけど、、、

Sub aaa()
 With ActiveSheet
  j = .Range("IV2").End(xlToLeft).Column
  For i = j To 1 Step -1
   If InStr(.Cells(2, i).Value, "単価") > 0 Then
     .Range(.Cells(3, j), .Cells(65536, j).End(xlUp)).Copy .Cells(3, i)
   End If
  Next i
 End With
End Sub
    • good
    • 0

擬似例でも上げて、4-5列の例で、また列と数行の例を示して、質問したらどうですか。


質問者は、解決方を知りたい気がはやるのは判るが、「でしょうか?」という風に回答者に、答えさせているのはおかしいと思いませんなか?

この回答への補足

おっしゃる通りです。
できないのに人の知恵をお借りするのはずうずうしすぎますね。

今後きちんと例をあげて、途中のコードも書いて
見てもらうようにします。

ありがとうございました。

補足日時:2007/02/06 00:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!