|
かみちゃんさん、朝からありがとうございます!
昨日から、ありがとうございます。
表のイメージをまた、書きませんでした。。
すみませんでした。
A B C D E F ・・ AC AD AE
1 数量 重量 金額 目標数 単価 合計数量 合計金額 基本単価
2 10 10 100 150 2270 15(AD/AC)
3 20 15 300 50 1000 20
AEの基本単価150を、F列(他複数列有)に代入したいのです。
上記例は、割り切れていますが、F2には、15.133・・と代入
されています。表示方法で、基本単価列も、単価列も通貨小数点以下0にしておりますが、列幅自動にしても、15.133・・分の列幅をとってしまします。
基本的なことかもしれませんが、15のみ代入するには、ROUNDUP関数を
記述するのでしょうか?
いつもすみませんが、どうぞよろしくお願い致します。
▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>単価の列を、まず検索し、同行の最終列の値を代入させたいのですが、
>>最終列には、数式が入っています。
>
>[46523]でご質問された表のイメージでいいのですか?
> A B C D E F ・・・ CB
>1 単価 数量 合計 単価 数量 合計 数量合計
>2 5 10 50 10 10 100 20
>3 2 10 20 5 8 40 18
>
>>「値のみ」代入させるには、Transpose等を記述するのでしょうか?
>
>上記の表のイメージ(G〜CAには値がないものとする)ですと、D3セルの5を取得
>したいということでしょうか?
>それであれば、Transposeは全く違います
>TRANSPOSE関数は、配列の縦方向と横方向のセル範囲の変換を行う、ワークシート関数です。
>
>そこで、以下のようなコードでできると思います。
>
>Sub Sample2()
> '列
> Dim i As Integer
> '最終列
> Dim J As Integer
>
> Application.ScreenUpdating = False
> '一番左の2行目
> J = Range("IV2").End(xlToLeft).Column
> For i = J To 1 Step -1
> If InStr(Cells(2, i).Value, "単価") > 0 Then
> MsgBox Cells(Rows.Count, i).End(xlUp).Address & vbCrLf & _
> Cells(Rows.Count, i).End(xlUp).Value
> Exit For
> End If
> Next i
> Application.ScreenUpdating = True
>End Sub
|
|