痔になりやすい生活習慣とは?

職場のエクセルの表を壊してしまいました。チカラを貸してください。

SHEETaに表があります。
常に表の最終行にデータを入力しています。
 A10     B10    C10    D10   E10
3月3日   りんご   8個   みかん  5個

この一部を同じブックのSHEETbの表の最終行に
=IF(SHEETa!A10="","",SHEETa!A10)といったふうに返しています。
 A15     B15    C15
3月3日   みかん   5個
ちなみにSHEETaとSHEETbのデータの並び順は違います。
行の番号も違います。

作業としては、SHEETaを入力したあと、SHEETbの最終行を1行だけ
印刷します。
SHEETaを入力すると自動的にSHEETbの最終行が選択されるようにするにはどうしたらいいのでしょうか?


   

A 回答 (4件)

>SHEETaを入力したあと、


SHEETaのどこでもということか。
SHEETaを入力したあと、というのがどういうことなのか。
文字通り解釈すれば、下記のようになると思うが、これでは困るだろう。
SHEETaを入力すると自動的にSHEETbの最終行が選択されるようしたのだが。

これをsheetaのコードモジュールに貼り付ける。

Private Sub Worksheet_Change(ByVal Target As Range)

Set shb = ActiveWorkbook.Sheets("sheetb")

'sheetaの入力範囲

ri = 5
re = 100
ci = 1
ce = 10

'sheetbの最終行の選択範囲

c21 = 1
c22 = 10

r1 = Target.Row
c1 = Target.Column


If (r1 >= ri And r1 <= re) And (c1 >= ci And c1 <= ce) Then

With shb

.Activate

r2 = .Cells(65536, 1).End(xlUp).Row '最終行の取得、これでいいとは限らない。実情に合わせて取得する。

.Range(.Cells(r2, c21), .Cells(r2, c22)).Select

End With

End If

End Sub

>もう少しくわしくお願いします。
というのは、私のほうのお願いかな。
    • good
    • 0

Worksheet_Change


イベントを使うよ。

この回答への補足

もう少しくわしくお願いします。

補足日時:2008/03/10 08:03
    • good
    • 0

失礼しました。

 シートbの最終行を表示でしたね。
下の回答は取り消します。
    • good
    • 0

=offset(a!a1,counta(a!a:a)-1,0)


とか
=index(a!a:a,counta(a!a:a)
とかという関数を入力してみてはいかがでしょうか。
    • good
    • 0

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


人気Q&Aランキング