• ベストアンサー

エクセルVBAで最終行の下のコード

E列のデータの最終行の、その下にセルを置くコードを教えて ください。 RW2は変数ですが、最終行の下という表現がわかりません。 どなたか教えていただけないでしょうか? .Cells(RW2, "E").Value = Cells(RW - 2, "B").Value

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

E列のデータの最終行なら、 Cells(Rows.Count, "E").End(xlUp)ですね。 そのひとつ下なら Cells(Rows.Count, "E").End(xlUp).Offset(1) でいけますよ。

newme
質問者

お礼

ご回答ありがとうございました。 ばっちりできました。これはよく使うので完全に 覚えます。助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

RW2が最終行が代入されているのなら、 .Cells(RW2 + 1, "E").Value = Cells(RW - 2, "B").Value と言う事でいいのかな?

newme
質問者

お礼

ご回答ありがとうございます。 >RW2が最終行が代入されているのなら、 最終行ではありません。 何行目にあるかわからない、すでにあるデータの最終行の下 を取得するようにしたいと思っています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

  • データ最終行の選択について

    よろしくおねがいします AからZ列までデータが入っています 1行目はタイトルです 最終行は全て同一ですが毎回変わります。 例外でM1 N1は空白です 今↓の作業をしているのですが 'D2セルからR列最終セルを選択 Range(Cells(2, 4), Cells(Cells(65536, 1).End(xlUp).Row, 18)).Select そのまえに M2からMデータ最終行の和をM列のデータ最終行の二つ下のセルに N2からMデータ最終行の和をN列のデータ最終行の二つ下のセルに それぞれ記入してから D2からR列最終せるを選択したいのです 仮にデータ最終行を100とすると M2~M100の和をM102に N2~N100の和をN102に それぞれ記入して D2~R100を選択・・・という流れです。 最終行数を選択して それから2を引いて選択しても なぜかうまくいかなく困っております よろしくおねがいします

  • エクセルVBAで最終行取得方法

    エクセルVBAで最終行を取得する良い方法を教えて下さい。 VBA初心者でいきづまっていまして、、、 内容はボタンを押した時にF列に対して最終行を取得して、 その最終行の下のセルにボタンの内容が繁栄させるようにしたくて Private Sub CommandButton202_Click() Dim lastRow As Long lastRow = Cells(Rows.Count, 6).End(xlUp).Row + 1 Cells(lastRow, 6).Value = CommandButton202.Caption End Sub と作ってみたのですが、F17より下に文字がはいっているため、 検索範囲を「F列」ではなく、「F2:F16」のように範囲を指定したいのですがどうしたらよいでしょうか、、、。 結構色々調べてはみたのですができなくて、、、

  • エクセル VBAコードの書き方を教えてください。

    エクセル VBAコードの書き方を教えてください。 今回は、VBAで掛け算をしたいのですが、 コードが間違っているためか実行ができません。 VBAコードのどこに不備があるか教えてください。 <条件> *最終行(H列で判断)を選択し、  I2(2行、I列)~I最終行(最終行,最終行のI列)までの  範囲を計算したい。 *たとえば、I2であれば、F2×G2×H2×0.01の値を代入したい。  I最終行であれば、F最終行×G最終行×H最終行×0.01の値 EX) 添付ファイルの場合、I2=500、I4=125、にしたい。 <参考> Sub SURYO() Dim r As Long With Sheets("Sheet1") For r = 2 Cells(r,9).value = Cells(r,6) * Cells(r,7) * Cells(r,8) Next End With End Sub よろしくお願いします。

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

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

  • VBAのコードを見ていただけませんか

    いつも、ここのサイトの方々には大変お世話になっております。ありがとうございます。 さてexcel2000で、dataというフォームにデータを格納し、メインのシートから、読みに行って編集するデータベースを作成しようとしています。 とあるサイトを参考にして、コードを作成しましたが、いくら頑張ってもどうしてもエラーが出てしまいうまくいきません。 どうか、コードのチェック・修正内容の提案等をいただけないでしょうか?よろしくお願いいたします。 (1)自分で登録した「IDが見つかりません」という表示しかでず、登録が出来ない (2)dataシートのB列(2列目)が主キー(IDと呼んでいます) です。(メインのシートとデータを照合させる部分) (3)メインのシートのIDはAL1~AQ1行セルまでを結合したセルに保管しています。 (4)下記コードでCommandButton1ボタンを「登録」と命名し、メインシートで入力したデータをdataシートに変更登録、新規に入力したデータも登録できるようにしたい。 (5)スピンボタンでIDを変化させて、メインフォーム上のデータも変化させたいけど、こちらも同種のエラーが出てしまう。 ■以下コードです。 Private Sub CommandButton1_Click() Dim fRange As Range Dim fRow As Long If (Range("AL1").Value = "") Then 'IDが入力されていない場合 MsgBox "IDを入力して下さい", vbExclamation Exit Sub End If Set fRange = Sheets("data").Columns(2).Find(What:=Range("AL1").Value, _ LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows) If (fRange Is Nothing) Then 'IDが見つからなかった場合 MsgBox "IDが見つかりません", vbExclamation Exit Sub End If fRow = fRange.row 'IDの行位置を求める Sheets("data").Cells(fRow, 1).Value = Range("AZ1:BE1").Value Sheets("data").Cells(fRow, 2).Value = Range("AL1").Value Sheets("data").Cells(fRow, 3).Value = Range("AA1:AO1").Value Sheets("data").Cells(fRow, 4).Value = Range("D5:E5").Value Sheets("data").Cells(fRow, 5).Value = Range("G5").Value Sheets("data").Cells(fRow, 6).Value = Range("I5").Value Sheets("data").Cells(fRow, 7).Value = Range("D5:F7").Value Sheets("data").Cells(fRow, 8).Value = Range("G6:I7").Value Sheets("data").Cells(fRow, 9).Value = Range("E8:E9").Value Sheets("data").Cells(fRow, 10).Value = Range("G8:G9").Value Sheets("data").Cells(fRow, 11).Value = Range("B11:I24").Value Sheets("data").Cells(fRow, 12).Value = Range("B71").Value Sheets("data").Cells(fRow, 13).Value = Range("C71").Value Sheets("data").Cells(fRow, 14).Value = Range("B73").Value Sheets("data").Cells(fRow, 15).Value = Range("C73").Value Sheets("data").Cells(fRow, 16).Value = Range("B75").Value Sheets("data").Cells(fRow, 17).Value = Range("C75").Value   ’・・・・全部でfRow122まであります End Sub

  • エクセル:データが入った最終行の行番号の取得

    お世話になります。 A列にいろいろデータが入っているとして、データが入っている一番下(最終行)の行番号をB1のセルに表示させるにはどういう計算式で出来るでしょうか? A列のデータは数値だけでなく文字列も含みます。また途中空白セルもあります。 A1~A20にデータが入っているときはB1に20と表示させる。 よろしくお願いします。

  • VBA データのある最終行の取得

    エクセルVBAで最終行を取得する良い方法を教えて下さい。 VBA初心者でいきづまっていまして、、、 内容はボタンを押した時にF列に対して最終行を取得して、 その最終行の下のセルにボタンの内容が繁栄させるようにしたくて Private Sub CommandButton202_Click() Dim lastRow As Long lastRow = Cells(Rows.Count, 6).End(xlUp).Row + 1 Cells(lastRow, 6).Value = CommandButton202.Caption End Sub と作ってみたのですが、F17より下に文字がはいっているため、 検索範囲を「F列」ではなく、「F2:F16」のように範囲を指定したいのですがどうしたらよいでしょうか、、、。 結構色々調べてはみたのですができなくて、、、

  • VBA最終行取得

    Sub 最終セル取得() Dim gyou As Integer gyou = 1 Do Until Cells(gyou, 1).Value = "" gyou = gyou + 1 Loop Range("C1").Value = gyou End Sub 上記のプログラムのどこを変えれば 文字が入力されている最終行の取得ができますでしょうか。 A列に入っている文字の最終行(セル)がC1に表示される というようにしたいのですが…; このまま実行すると1つ多いセル行が表示されてしまいます 同じような質問をしてしまって申し訳ありません; どなたかわかる方回答お願い致します Excelは2000です;

専門家に質問してみよう