- ベストアンサー
R5C14の意味を教えてください
一日おきに列を一つ横に移動させるVBAどうすればいいのでしょうか と11日に質問をしていたのですが、また行き詰ってしまいました。 ちょっと、急いでおりましてもう一度新しく質問させていただきます。 Sheets("Sheet1").Cells(3, a + 3).FormulaR1C1 = "= 奇数!R5C14" この奇数!R5C14が、なぜ奇数シートのN5になるんですか?
- momo999
- お礼率52% (102/194)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
RはRows(行)のR、CはColumns(列)のC です。 R5は第5行、C14はA列から数えて14番目がN列ですから、セルcells(5,14)を表します。 こう言うR●●C○○式の表し方をR1C1形式と言うようです。 VBAではcells(5,"N")とも表せます。
関連する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" 毎日のデータを記録させて行きたいのですが全部が同じ(最新の値)になってしまいます。 どうやれば、その日その日のデータが記入されていくのでしょうか?
- ベストアンサー
- Visual Basic
- 一日おきに列を一つ横に移動させる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に転記 よろしくお願いします。 時間が無くて本を読んでいるのですが、なかなかわかりません
- ベストアンサー
- Visual Basic
- 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 と一応規則的に並び替えています。…が、途方もない数になってしまうのですが、何か省略したり…というような方法はないでしょうか? よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- マクロ(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エラーが出てきました。 いろいろ間違っているのかもしれませんが、ご指南いただけますと幸いです。よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- 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
- ベストアンサー
- オフィス系ソフト
お礼
ずっとお世話になりっぱなしで・・・ これで出来ると思います ありがとうございました