- ベストアンサー
関数の中で参照するセル範囲の記述方法
- 関数を使用してセル範囲を参照する方法について詳しく解説します。
- セル範囲を指定する際に活用できる関数や方法をご紹介します。
- 具体的な例を交えながら、セル範囲の指定方法について説明します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7940)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
- KURUMITO
- ベストアンサー率42% (1835/4283)
関連するQ&A
- マクロ 関数の設置 「'」クオーテーションマークが勝手に入ってしまう
http://oshiete1.goo.ne.jp/qa2917251.html で問題解決していただいた者です。たびたび初心者的質問、失礼いたします。 以下のマクロを実行して、 =SUMIF(シート2!$B$1:$B$200,"*"&B4&"*",シート2!$C$1:$C$200) という関数を設置しようとしています。 ----- ActiveCell.SpecialCells(xlLastCell).Select データ下 = Range("シート2!B1").End(xlDown).Row 数値下 = Range("シート2!C1").End(xlDown).Row データ = 2 数値 = 3 選択範囲1 = "R1" & "C" & データ & ":R" & データ下 & "C" & データ 選択範囲2 = "R1" & "C" & 数値 & ":R" & 数値下 & "C" & 数値 数式 = "=SUMIF(シート2!" & 選択範囲1 & ",""*""&B4&""*"",シート2!" & 選択範囲2 & ")" Range("A1").Formula = 数式 ----- ところが、実際に上記を動かしますと、 =SUMIF(シート2!$B$1:$B$200,"*"&'B4'&"*",シート2!$C$1:$C$200) 真ん中あたりの検索条件、「B4」の両となりに「'(シングルクオーテーション)」が勝手に付加されてしまいます。 初歩的なことで大変恐縮ですが、これの原因と対策をご教示いただけないでしょうか? どうかよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- EXCEL VBA----離れたセル範囲の指定
こんにちは。初歩的なことで困っています。 Range("A3:A19,F3:F19").Select のように、離れたセル範囲を選択したいのですが 上の例の19行目が不定であるため、変数を使ったCellsプロパティを使用し i=Range("A3").End(xldown).Row Range("Cells(3, 1).Cells(i, 1), Cells(3, 6).Cells(i, 6)").Select と書いてみたのですが、エラーになってしまいました。 正しい指定の仕方を教えて下さい。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAでの行集計
VBAでの行集計 いつもお世話になっております 今 マクロでの行集計で困っております。 お力をお貸し下さい m(__)m したいことは B列最終セルを見つけ出し 列の合計を出す 合計を右横最終セルまでコピーする 最終はR列までです そこで下記のマクロで合計は出しました Dim BeforePos As Long BeforePos = Range("B4").End(xlDown).Row Cells(BeforePos + 1, 2).Formula = "=SUM(B4:B" & BeforePos & ")" このセルの数式を右最終列までコピーをしたい それだけのことですがうまくいきません どうかよろしくお願いします
- ベストアンサー
- オフィス系ソフト
- 最終行を探してSUMするには?
またまたお願いします。 シートT_日計作業にその日の注文データがあります。 金額はC列です。セルC2から始まっていきます。 金額の合計を求めるマクロを書いてますがうまくいきません。 (1) 最終行を求められたのですが、C2から最終行までの 普通、範囲設定でRange("C2:C20").select と書きますよね。 最終行は z = Range("c1").End(xlDown).Rowで求めてあります。 今回の最終行がC20の場合、Z=20 となり 範囲指定は Range("C2:C&Z").Select ???? これがうまくいきません。何か 勘違いしているのでしょか? (2) ActiveCell.FormulaR1C1 = "=SUM(わかりません)" (1)がクリアーしたとして どう書けばよいのでしょうか? 宜しくお願いします。 Sub 日計注文編() Dim z As Long Sheets("T_日計作業").Select '最終行番号を調べる If Range("c2").Value = "" Then z = 1 Else z = Range("c1").End(xlDown).Row End If 'C2から最終行番号までの合計を求める Range("C2:C&Z").Select ActiveCell.FormulaR1C1 = "=SUM(わかりません)" ・・・・
- ベストアンサー
- オフィス系ソフト
- VBA チェンジイベント 別シートにデータ転記
お世話になります。チェンジイベント初心者です。 同一BOOK内の特定のコラムのセルを選択した場合に、自動的に他のシートの特定のセルにデータを転記させたいのですが、どう書けばよいのか分かりません。添付の画像と下記マクロをご覧になって下さい。 -マクロ- Private Sub Worksheet_SelectionChange(ByVal Target As Range) If 1 = ActiveCell.Column Then Worksheets("01").Cells(ActiveCell.Row, 3) = Cells(ActiveCell.Row, 1) Worksheets("01").Cells(ActiveCell.Row, 4) = Cells(ActiveCell.Row, 2) End If End Sub メインのシートは[01]です。このシートのC4を選択し、次に[02]のA列にあるセルを選択すると、[02]のA列・B列のデータがC4・D5に転記されるようにしたいのですが、画像にあります通り[02]のA5を選択してしまうと、[01]のC5・D5に転記されてしまいます。 どのようにすれば、[01]でアクティブにしておいた行の3列目、4列目に転記が行われるのでしょうか? よろしくご指南くださいませ。
- 締切済み
- その他MS Office製品
- VLookupで参照する範囲を変数で渡したい
マクロ内で開いた別ファイルにあるリストをVLookupで参照するマクロを作っています。 固定のファイルで行う場合には以下の内容で動いています。 ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],'070801.xls'!R1C1:R2430C6,6,FALSE)" このファイル名[070801.xls]とセル範囲(行数がファイルによって違う)のを変数で渡す必要があります。 #細かい部分は割愛しています。 Workbooks.Open Filename:=Fname, ReadOnly:=True 'ファイル読み込み Range("A1").CurrentRegion.Select 'データ全体選択 Selection.SpecialCells(xlCellTypeLastCell).Select '最終行検出 endRcell = ActiveCell.Row ********ここの間に入る処理 ********多分「Range(Cells(1, 1), Cells(endRcell, 6))」など ThisWorkbook.Activate Range("H2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],?????,6,FALSE)" ↑ここに指定する変数 2カ所について、どのように指定すればよいのか分かりません。 色々試してみたのですが・・・・ よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- セル範囲の指定方法について教えて下さい
エクセルマクロ勉強中です。 いつも皆様のご回答をもとに勉強させて頂いております。 下記を行いたいのですが、うまくいきません。 AA列を検索(AA1から最終セルまでは空白セル無し)し、AA1からAEまでをコピー したいです。AEの最終行はAAで検索した最終行となります。 AA10が最終行であったならば、コピー範囲はRange("AA1:AE10")。 AA AD AE 1 1 0 空白 2 1.5 2 空白 3 2 4 0.0 4 2.5 6 0.0 ・ ・ ・ ・ ・ ・ ・ ・ 11 空白 Range("AA1", Range("AA1").End(xlDown).End(xlToRight)).Select Selection.Copy 上記ですとAD列までは選択されますが、AEまで列までを選択するには どうしたらよいのでしょうか? ご教示頂きたく宜しくお願い致します。
- ベストアンサー
- Excel(エクセル)
- 選択範囲に関する質問
いつもお世話になっております。 初歩的な質問だと思いますが宜しくお願い致します。 リストでA列にデータが並んでいます。BとC列に数字があり、 B列に新しい列を入れて Range("B2").Select ActiveCell.FormulaR1C1 = "=SUM(RC[1]:RC[2])" こちらをAのデータが入ってる行数までペーストさせたいのですが、 どうしたらデータが入ってる行数までペーストさせるマクロを組み込めるでしょうか? Range("A2").End(xlDown).Rowなどで最終行まで調べることは出来るのですが、 Select、Copyの場合はどのように入れたら宜しいでしょうか? 自分で調べてみていろいろやってみましたのですが上手く行きませんでした…
- ベストアンサー
- Visual Basic
- ExcelVBAで「Cells」を使ってセルの選択範囲を指定する方法
例えば、セル「A1」から「C5」とセル「F1」から「I4」の範囲を選択する場合、 Range("A1:C5,F1:I4").Select としますがこれを「Cells(Row,Column)」を使うやり方はどのようにすればよいのでしょうか? Range(Cells(1, 1), Cells(5, 3)).Select Range(Cells(1, 6), Cells(4, 9)).Select 上記のような二つに分けてプログラムを動かすのではなく、あくまでセル「A1」から「C5」とセル「F1」から「I4」の範囲を同時に指定する方法です。 回答よろしくお願いします。
- ベストアンサー
- Visual Basic
- アクティブセルから、A列最終行までフィルダウン
今いるセルの位置から、A列のデータのある最終行までフィルダウンするコードを教えていただけないでしょうか。 下記のようにF列ときまっていればいいのですが、毎回ちがうので、できれば ActiveCellをつかってつくることが できないでしょうか。 Range("F3:F3").AutoFill Destination:=Range("F3:F" & Range("A3").End(xlDown).Row()) ExcelのVBAでわかる方おしえてください。
- ベストアンサー
- Excel(エクセル)
お礼
ありがとうございます! これで解決してしまいました。 最初のご回答もとても勉強になりました。