dポイントプレゼントキャンペーン実施中!

お世話になります。

任意の最終行番号を取得し、他の列でコピー時にその行番号までコピーしたいと考えております。

添付の例では、12行目が最終行となっていますが、この12行を得て「E列」に新たに行を追加し
「D列」の依頼年月の下二桁の月の部分だけを抽出し、任意の最終行(この場合12行目)までコピーしたい。

4行目にブランク行があると3行目までしかコピーせず困っております。

賢者の皆様、お知恵をお貸し下さい。
よろしくお願いいたします。

「任意の最終行番号を取得し他列でのコピーに」の質問画像

A 回答 (5件)

回答No3です。


セルの表示を03のようにするのでしたら次のマクロにしてください。

Sub 式の貼り付け()

Dim RowPos As Integer
For RowPos = 2 To Cells(65536, 1).End(xlUp).Row
Cells(RowPos, 5).Value = Right(Cells(RowPos, 4).Value, Length:=2)
Cells.NumberFormatLocal = "00"
Next

End Sub
    • good
    • 0
この回答へのお礼

KURUMITO様

早速の解答ありがとうございました。

No.4の方からご指摘がありましたように、「行・列・セル」の表現がごちゃごちゃになっておりました。
にもかわらず、意図をご理解いただきありがとうございました。
結果は、思い描いたいものが導き出されていて大変助かりました。

またとんちんかんな問い合わせをするかもしれませんが、機会がございましたら
お答えいただけると幸いです。

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

お礼日時:2011/08/19 08:58

大変失礼な言い方かもしれませんが、行と列の概念を理解していないのでは。



>12行を得て「E列」に新たに行を追加
列にどのように行が追加できるのでしょうか。

>4行目にブランク行があると
4行目にブランク列(セル)があると...ではないでしょうか。

難解な表現なので意図を正しく汲み取っているか判りませんが、要するに最終行の行番号を得て表に1行追加して対象行のD列とE列のセルに希望の処理をしたいということですか。

添付図から判断してA列はすべて埋まっているのでA列で最終行を求めるには

Dim 最終行 as string
最終行=Worksheets("***").Range("A1048576").End(xlUp).Address '最終行の1行下のセルの番地が取得できます。

最終行には”A13”が入るのでRight関数で下2桁の数を取り出しlong(integerでは行数が多いので対応できないことがあります)に定義した変数に(13-1=12)で代入すれば、仮に変数をNoとすればD列のセルは Cell(No,4)、E列のセルはCell(No,5)となります。

御希望の処理はご自分で工夫して見て下さい。

失礼な点、間違っていたら無視してください。
    • good
    • 0
この回答へのお礼

374649 様

早速の回答ありがとうございます。
「行・列・セル」の表現がごちゃごちゃになっておりまして申し訳ございませんでした。
次回からは質問前に再度推敲いたします。

それにもかかわらずアドバイスいただき助かりました。

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

お礼日時:2011/08/19 09:10

シート見出しからシート名を右クリックして「コードの表示」を選択します。


表示な画面には例えば次のようなマクロを入力します。

Sub 式の貼り付け()

Dim RowPos As Integer
For RowPos = 2 To Cells(65536, 1).End(xlUp).Row  ’A列での最終行を求めています。
Cells(RowPos, 5).Value = Right(Cells(RowPos, 4).Value, Length:=2)
Next

End Sub
    • good
    • 0

#1さん、D列のコピーですよ?



=IF(D2="","",RIGHT(D2,2))

を下にコピー。
    • good
    • 0
この回答へのお礼

edomin7777さん

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

手動でコピーするのではなく、「最終行を取得し、自動で」行いたいのです。

関数やマクロをお教えいただきたいのですが.....

よろしくお願いいたします。

お礼日時:2011/08/17 14:02

要求仕様と違うけど、E列に下記の関数を貼り付けておくのでは駄目ですか。



=IF(A7="","",RIGHT(A7,2))
    • good
    • 0

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