• ベストアンサー

列最終行を取得し別列に貼付け

VBAでA列最終行を取得しB列にその行の値を貼付けることができますか宜しくお願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1610/2448)
回答No.2

これでいかがですか。 Sub Example() Cells(Rows.Count, "A").End(xlUp).Offset(0, 1).Value = Cells(Rows.Count, "A").End(xlUp).Value End Sub

kuma0220
質問者

お礼

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

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

よく使う機能で、今更と思うが、何か特殊な点があるのかな。 プロトタイプは Sub test01() x = 1 lr = Range("a10000").End(xlUp).Row MsgBox lr Cells(x, "B") = Cells(lr, "A") End Sub ですが、 (A)A列のデータの途中に空白セルがあると、「最終行」はどちら(どこ )か不明 (B)B列にその行の値を貼付けることができますかー>B列のどこに?   データの最終行か? (C)>値を貼付けることができますか 値の「代入」で済むのでは? プログラマをめざす者の、文章表現としては、あいまいです。

kuma0220
質問者

お礼

ありがとうございます。

関連するQ&A

  • 最終行を取得して別列にコピー

    最終行を取得して、別の列にコピーするVBAを教えてください。 具体的には、次の通りです。 (1)A2から下方に項目NOが入っています。可変です。  A2から項目NOの最終行までの行数をカウントします。 (2)B3:D3には数式が入っています。  B4:D4以下に数式を(1)で取得した行数分だけコピーします。 かなり緊急で困っています。 教えていただけると助かります。

  • 最終行を取得して、別の列にコピーするマクロ

    最終行を取得して、別の列にコピーするVBAマクロを教えてください。 (Excel2003です) 具体的には、次の通りです。 (1)A2から下方に項目NOが入っています。可変です。  A2から項目NOの最終行までの行数をカウントします。 (2)B3:D3には数式が入っています。  B4:D4以下に数式を(1)で取得した行数分だけコピーします。 かなり緊急で困っています。 教えていただけると助かります。

  • 何列の何行目が最終行なのか取得するコードはありますでしょうか?

      A列  B列  C列 1  ○   ○ 2        ○ 3               ○ これは最終行が3行目と言うのがぱっと見でわかりますが もっと列も行も多い場合、 シート内の何列の何行目が最終行なのか取得するコードはありますでしょうか? Cells(65536, ?).End(xlUp).Row を行ないたいのですが 毎回何列の行が一番下かを取得する方法があれば教えてください。 よろしくお願い致します。

  • エクセル最終行の下に貼り付け

    VBAで以下の作業を教えて下さい。 Sheet1のB列に入力済みのセルが何行かあります。 その入力済みのセルの値をコピーして、Sheet2のA列の入力済みの最終行のすぐ下の行に貼り付ける。 *Sheet1のB列の入力済みのセルの行数は毎回変わります。 *Sheet2のA列には一番最初は何も入力されていない状態です。 宜しくお願い致します。

  • シート1のC列の最終行をコピーして同じ行に値貼り付けしたい

    シート1のC列の最終行を取得して その行を丸々値貼り付けするマクロを作りたいと思います。 シート3のB18の値をシート1のC列の最終行の1つ下のセルに値貼り付け すると、その行のA、B列に日付が入力される関数が入っています。(下まで) 関数が入ったままだと、うまくいかない時があるので最終行をコピーして値貼り付けしたいのですが、マクロの作り方を教えてください。 シート1の最終行に貼り付け Sheets("Sheet3").Select Range("B18").Select Selection.Copy Sheets("Sheet1").Select Range("C65536").End(xlUp).Offset(1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End Sub 最終行をコピーして値貼り付け Dim 最終行 As Integer 最終行 = Range("C65536").End(xlUp).Row Range("A6:C" & 最終行).Select Selection.Copy Sheets("Sheet1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End Sub このマクロだと、A6からC列の最終行まで全てコピーされてしまうので、C列の最終行のAからC列まで1行だけコピーできないでしょうか?

  • マクロで最終行を取得した列とは別の列の書式設定をしたい

    エクセルのマクロの組み方を教えて下さい A列にデータが入っているとします たとえばA8:A50までとします(変動します) A列の最終行50行目を取得したら、 S列8行目から、S列の、A列で取得した最終行目まで罫線を引きたいのです (開始が8行目は決定しています) どうしてもS列すべてに罫線が引かれてしまい、困っています 罫線の設定はこちらで組めるので、そこまでの例を出していただきたいのですが…… 今日昼まで仕上げなければならないので、回答よろしくお願いします

  • 最終行に合計(最終行が列によって異なる場合)

    エクセルVBAに於いて質問させて頂きます。 タイトルにも書かせていただきましたが、 A列に行数可変のデータ(文字列)があり、 B列に行数可変のデータ(数字)があり、 A列の行数>=B列の行数の条件とき、 A列の最終行+2の位置のA列に文字で合計 A列の最終行+2の位置のB列にsumを表示する場合、 どのようにすれば出来ますでしょうか。 A列の最終行+2の位置のA列に文字で合計は With Range("A3") .End(xlDown).Offset(2, 0).Formula = "合計" End With でいけると思うのですが、 A列の最終行+2の位置のB列にsumを表示する場合どのようにすればいいのかわかりません。 ご教授のほどお願い致します。

  • VBA 指定の列の最終行を取得

     Excel VBAについて質問します。すいませんが宜しくお願いします。 画像の様に、A列の最終行とF列の最終行が異なった時に、 A列とF列の位置を、メッセージボックスで表示したいのですが、 例えば、画像で説明しますと、"最終列はA11とF9です" こんな感じで表示されると良いですが、 お手数ですが教えて頂けますか?

  • VBAで最終行の取得について

    UserFormのConboBoxで「○○」を選んで、 UserFormのTextBoxで『あいう』と入力すると、ワークシートに A      B 1 ○○   ×× 2 あいう と表示され、 UserFormのConboBoxで「××」を選んで、 UserFormのTextBoxで『アイウ』と入力すると A      B 1 ○○   ×× 2 あいう  アイウ 3 :    : と表示されるようにしたいと思います。 以下のプログラムまではできています。 ********************************************* Private Sub UserForm_Initialize()  Dim lasClm As Integer, i As Integer  lasClm = Sheet1.Range("A1").End(xlToRight).Column   For i = 1 To lasClm   ComboBox1.AddItem Sheet1.Cells(1, i).Value   Next i End Sub ********************************************* Private Sub CommandButton1_Click()  Select Case ComboBox1.Text  Case Sheet1.Cells(1, 1).Value '「○○」が選択  Sheet1.Cells(2, 1).Value = TextBox1.Text ・・・(1)  Case Sheet1.Cells(1, 2).Value '「××」が選択  Sheet1.Cells(2, 2).Value = TextBox1.Text ・・・(2)  End Select  UserForm1.Hide End Sub ********************************************** 今は(1)、(2)のように直接セルを指定しているのですが、 この部分を各列(A列、B列)の最終行の値を取得して、 最終行+1のセルに順次TextBoxに入力された値を代入していきたいのですが、 どのようにしたらよいのでしょうか。 しかし、A列とB列は同じように値が増えていくとは限りません。 例)    A     B 1 ○○   ×× 2 あいう  アイウ 3 かきく 4 さしす となる場合もあるので、A列とB列それぞれの最終行の値を取得したいと思っています。

  • 文字の場合でもA列の最終行の行番号を取得するには

    A列の最終行の行番号を、 =MATCH(10^10,A:A) を使えば取得できますが、 これはA列にの最終行が数値の時だけで、文字列が最終行の場合は無視されるようです。 文字列でも取得する方法はありますか? 10^10の部分を変更すればいいと思いますが、どうすればいいですか?

専門家に質問してみよう