• ベストアンサー

R5C14の意味を教えてください

一日おきに列を一つ横に移動させるVBAどうすればいいのでしょうか と11日に質問をしていたのですが、また行き詰ってしまいました。 ちょっと、急いでおりましてもう一度新しく質問させていただきます。 Sheets("Sheet1").Cells(3, a + 3).FormulaR1C1 = "= 奇数!R5C14" この奇数!R5C14が、なぜ奇数シートのN5になるんですか?

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

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

RはRows(行)のR、CはColumns(列)のC です。 R5は第5行、C14はA列から数えて14番目がN列ですから、セルcells(5,14)を表します。 こう言うR●●C○○式の表し方をR1C1形式と言うようです。 VBAではcells(5,"N")とも表せます。

momo999
質問者

お礼

ずっとお世話になりっぱなしで・・・ これで出来ると思います ありがとうございました

関連するQ&A

  • 一日おきに列を一つ横に移動させるVBA

    1/11に『一日おきに列を一つ横に移動させるVBA』 という事で質問させていただいたのですが また問題が出てきたので、教えてください。 結局一日おきに行を下に移動させて記録させる事にしました。 Dim a As Long a = CLng(Date) - 37633 Sheets("日常管理").Cells(a + 3, 3).FormulaR1C1 = "=奇数!R5C14" Sheets("日常管理").Cells(a + 3, 4).FormulaR1C1 = "=奇数!R6C14" Sheets("日常管理").Cells(a + 3, 5).FormulaR1C1 = "=奇数!R7C14" 毎日のデータを記録させて行きたいのですが全部が同じ(最新の値)になってしまいます。 どうやれば、その日その日のデータが記入されていくのでしょうか?

  • 一日おきに列を一つ横に移動させるVBAどうすればいいのでしょうか

    困っています。助けてください 初心者過ぎて訳のわからない事言ってるかも知れませんが・・・ Sheets("奇数").Select Range("N5").Select Selection.Copy Sheets("Sheet1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=+奇数!R[2]C[11]" Range("C4").Select ActiveCell.FormulaR1C1 = "=+奇数!R[2]C[11]" Range("C5").Select やりたいことは 奇数シートのN5をシート1のC3に転記 奇数シートのN6をシート1のC4に転記 次の日には 奇数シートのN5をシート1のD3に転記 奇数シートのN6をシート1のD4に転記 次の日には 奇数シートのN5をシート1のE3に転記 奇数シートのN6をシート1のE4に転記 よろしくお願いします。 時間が無くて本を読んでいるのですが、なかなかわかりません

  • QNo.2826776の質問の続き 表から別シートに一覧表を作成したいのですが

    質問の続きになってしまうのですが sheet1からsheet2へ転記するVBA Private Sub Worksheet_Change(ByVal Target As Range) Sheets("Sheet2").Cells.ClearContents Sheets("Sheet2").Cells(1, 1).Value = "日付" Sheets("Sheet2").Cells(1, 2).Value = "応援に行く人" Sheets("Sheet2").Cells(1, 3).Value = "応援をもらう店舗" r2 = 1 For r = 2 To Range("A65536").End(xlUp).Row For c = 2 To 256 If Cells(r, c) <> "" Then r2 = r2 + 1 Sheets("Sheet2").Cells(r2, 1).Value = Sheets("Sheet1").Cells(r, 1) Sheets("Sheet2").Cells(r2, 2).Value = Sheets("Sheet1").Cells(1, c) Sheets("Sheet2").Cells(r2, 3).Value = Sheets("Sheet1").Cells(r, c) End If Next c Next r End Sub と教えていただきました。 もうひとつ条件を入れたいのですが「"休"を無視する」 座標やシート名の入れ替えは理解できたのですが、やはり難しく ここを頼ってしまいました。教えてください。よろしくお願いします。

  • VLOOKUP関数と同じことをVBAでおこなうには

     初めまして、当方VBAの素人です。よろしくお願いします。  同じような質問で、このようなVBAを見つけました。 Sub Macro1() For n = 2 To 5 '処理するSheet2の行数範囲 a = Sheets("Sheet2").Cells(n, 1) 'aにA列の値を代入 For m = 2 To 5 '検索するSheet1の行数範囲 If Sheets("Sheet1").Cells(m, 1) = a Then 'Sheet2のA列の値とSheet1のA列が一致した場合 v = Sheets("Sheet1").Cells(m, 2) 'vにB列の値を代入 Sheets("Sheet2").Cells(n, 2).Value = v 'Sheet2のB列に値を入力 Exit For '値が見つかったのでForを終了 End If Next Next End Sub このVBAではSheet2での検索、入力が列になるのですが、列でなく、行でできないでしょうか。できればSheet1のB列の値をSheet2の1行で検索、Sheet2の2行に入力されるだけではなく、Sheet1のC列の値をSheet3の1行で検索、Sheet3の2行に入力されるようにしたいと思います。  解る方、よろしくお願いします。

  • Cells(1,3)をRange("C1")に変換

    Sheets(Sn).Range("A1:Z98").Copy Destination:=Sheets(Sn).Range("V9") r=131です 上記のVBAを使用したいのですが求められるのはCells(r-1,3)なのです。そのためにCells(r-1,3)をRange("C130")に変換できないでしょうか よろしくお願いします。

  • VBAで & の意味は

    Excel VBAの参考書に下のコードがありました。 最右列にその行のデータの合計を求める計算式です。 Cells(i, r).FormulaR1C1 = "=sum(RC[" & -(r - 2) & "]:RC[-1])" & 演算子は文字列などの連結に使用すると理解していますが、この例の場合、& はどんな役割(意味)を持っているのでしょう。どうかお教えください。

  • 同期の並び替えで、規則的ですが、数が多くて処理に困っています。何かいい方法はないでしょうか?

    同期の並び替えで、規則的ですが、数が多くて処理に困っています。何かいい方法はないでしょうか? 一通り最後までやったのですが、ものすごい数になってしまいました。 下記 Sub Macro1() Sheets("sheet2").Select 'sheet1のA君のデータ(C列の10,14,18,22~90)をsheet2(C列)に同期 Range("C8").Select ActiveCell.FormulaR1C1 = "=sheet1!R[2]C" Range("C9").Select ActiveCell.FormulaR1C1 = "=sheet1!R[5]C" Range("C10").Select ActiveCell.FormulaR1C1 = "=sheet1!R[8]C"      ・      ・      ・   Range("C31").Select ActiveCell.FormulaR1C1 = "=sheet1!R[71]C" 'sheet1のB君のデータ(D列の10,14,18,22~90)をsheet2(E列)に同期 Range("E8").Select ActiveCell.FormulaR1C1 = "=sheet1!R[2]C[-1]" Range("E9").Select ActiveCell.FormulaR1C1 = "=sheet1!R[5]C[-1]" Range("E10").Select ActiveCell.FormulaR1C1 = "=sheet1!R[8]C[-1]"      ・      ・      ・   Range("C31").Select ActiveCell.FormulaR1C1 = "=sheet1!R[71]C[-1]" 'sheet1のC君のデータ(E列の10,14,18,22~90)をsheet2(G列)に同期 Range("G8").Select ActiveCell.FormulaR1C1 = "=sheet1!R[2]C[-2]" Range("G9").Select ActiveCell.FormulaR1C1 = "=sheet1!R[5]C[-2]" Range("G10").Select ActiveCell.FormulaR1C1 = "=sheet1!R[8]C[-2]"      ・      ・      ・   Range("G31").Select ActiveCell.FormulaR1C1 = "=sheet1!R[71]C[-2]"       と続き 最終的には 'sheet1のV君のデータ(X列の10,14,18,22~90)をsheet2(AS列)に同期   Range("AS8").Select    ActiveCell.FormulaR1C1 = "=集計関連!R[2]C[-21]"      ・      ・      ・   Range("AS31").Select    ActiveCell.FormulaR1C1 = "=集計関連!R[71]C[-21]" End Sub と一応規則的に並び替えています。…が、途方もない数になってしまうのですが、何か省略したり…というような方法はないでしょうか? よろしくお願いいたします。

  • マクロ(VLOOKUP)に関しての質問です。

    現在、シート名が、A1セル~A5セルの値となっています。(状況によっては増減があります。) VLOOKUP関数の範囲指定をセルの値によってシートを選択するようにしたいと考えています。 シートには、A列とB列にデータがあり、B列の値を元のシートのA2と検索をし、B2に引っ張りたいと思っています。 以下のようなコードを考えているのですが、エラーとなってしまいます。 ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Sheets(Cells(1, 2).Value)!C[-7]:C[-6],2,0)" Sheets(Cells(1, 2).Value)!C[-7]:C[-6]の部分が間違えていると思うのですが、どのように修正すればよろしいのでしょうか。 申し訳ありませんが、お力をお貸しいただけませんでしょうか、 よろしくお願いいたします。

  • エクセルVbaで最終行まで数式をループ入力

    よろしくお願いします。エクセルVba初心者です。 エクセルでの作業をvba化したいと思っています。 C列:苗字  D列:名前 E列:E2=$C2&" "&$D2 …これを最終行まで  F列:全て数字の1を自動入力 これを Function NameNumber() n = Cells(Rows.Count, "D").End(xlDown).Row Dim Name As Long For Name = 2 To n Cells(Name, "E").FormulaR1C1 "=R[0]C[-2] & R[0]C[-1]" Next Name Dim Number As Long For Number = 2 To n Cells(Number, "F").Value = 1 Next Number End Function と書いてみましたが、348エラーが出てきました。 いろいろ間違っているのかもしれませんが、ご指南いただけますと幸いです。よろしくお願いいたします。

  • excelで別シートのセルを選択(VBA)

    どなたか教えてください。 シートXのB1に行番号 シートXのB2に列番号 が記載されていたとして、 別シート(Y)の、上記で指定したセルを選択する(フォーカスを移動する方法)を教えてください。 シート(X)   A   B   C  1 行  25  2 列  2  シート(Y)   A   B   C  1 2   ::::::: 24 25   (ここ) 以下のように書いても、最後の行でエラーになってしまいます。  行番号 = Sheets("X").Cells(1, 2).Value  列番号 = Sheets("X").Cells(2, 2).Value  Sheets("Y").Select  Range(Cells(行番号, 列番号)).Select

専門家に質問してみよう