No.1
- 回答日時:
途中行に空白が無い場合、最終行を以下で知ることができます。
Range("A1").End(xlDown).Select
または Range("A65536").End(xlUp).Select
これはA1セルをアクティブにしてCtrlと↓(↑)キーを押した時の動作と同じです。この結果選択されたセルの行番号を用いればいいと思います。
この回答への補足
ありがとうございます。
質問が言葉足らずで申し訳ございません。
別シートに集計表があり、
For i = 1 To 30
ActiveCell.FormulaR1C1 = "SUMIF('Sheet1'!3C4:R65536C4,RC2,'Sheet1'!R3C11:R65536C11))"
・・・・
という形で集計するようにマクロを組んでいるのですが、この、「3~65536行」という範囲を、例えば2000行までしかデータが貼り付けられていなければ、「3~2000行」という数式に変更できないかという質問です。
いただいた回答の内容でしたら、ActiveCellの行番号を取得するということだと思うのですが、そこからどのように数式に反映すれば良いかが分からないのです。
申し訳ないですが、ご存知でしたら、宜しくお願い致します。
No.2
- 回答日時:
途中に空白行がある場合は、以下の方法も有効だと思います。
ActiveCell.SpecialCells(xlLastCell).Select
これはCtrlキーとEndキーを同時に押して移動するのと同じ動きになります。
No.3
- 回答日時:
>マクロで自動的にSUMIFやCOOUNTIF関数で集計しているのですが
この意味が良く判りませんが。
合計値をセットする(出す)セルは変動するのでしょうか。
=で代入している(下記)のでしょうか。
Worksheet関数を使っているのでしょうか。
式をFormulaで埋めこんでいるのでしょうか。
マクロを使えばSUMIFやCOOUNTIF関数は必ずしも必要なく他のやり方で合計が出せますから。
ただ関数以外を使うと、データが増えても再計算してくれませんが。それで関数を使っているのかも。
最下行はd = Range("A1").CurrentRegion.Rows.Count
で捉えるので
Sub test02()
d = Range("A1").CurrentRegion.Rows.Count
Cells(10, 1) = "=Sum(a1:a" & d & ")"
End Sub
のようにすればよいかと思います。
>質問の中の「貼り付けた」に拘ると
VBA程度では、「コピーをした」や「貼り付けをした」、という動作(イベント)を掴まえることが難しい。
(クラスという考えを持ちこんで出来るかどうか。)
貼りつけた後で、一番最下行(か最右行)を知ることは出来ますが、縦列データのある途中までに貼りつけられると
お手上げです。
ボタンを貼りつけ、コピー範囲を指定した段階でボタンを
押すと、下記コードを入れておくと、指定範囲を捉えることが出来るのですが。
Private Sub CommandButton1_Click()
MsgBox Selection.Address
End Sub
関数を使えば、データが貼りつけられた段階で、データが変るので、再計算機能が働きますから、上記を意識しなくてもよいですが。
この回答への補足
ありがとうございます。
質問が言葉足らずで申し訳ございません。
別シートに集計表があり、
For i = 1 To 30
ActiveCell.FormulaR1C1 = "SUMIF('Sheet1'!3C4:R65536C4,RC2,'Sheet1'!R3C11:R65536C11))"
・・・・
という形で集計するようにマクロを組んでいるのですが、この、「3~65536行」という範囲を、例えば2000行までしかデータが貼り付けられていなければ、「3~2000行」という数式に変更できないかという質問です。
尚、データは3行目から連続して貼り付けられているものとしています。
申し訳ないですが、ご存知でしたら、宜しくお願い致します。
補足を記入した後に、他の方々からも回答をいただきましたが、最初にいただいたお答えでも問題解決できていましたね。
いつもありがとうございます。
No.4ベストアンサー
- 回答日時:
#1です。
こんなのではどうでしょうか?意図されているのとちがいますかね??
Dim a As String
Dim i As Integer
'
ActiveCell.SpecialCells(xlLastCell).Select
a = ActiveCell.Row
For i = 1 To 30
ActiveCell.FormulaR1C1 = "SUMIF('Sheet1'!3C4:R" & a & ",RC2,'Sheet1'!R3C11:R" & a & "C11))"
Next
No.5
- 回答日時:
集計表シートがsheet2としますと、以下のようになるのではと思います。
前後の処理が不明なため、都合の悪いところがあるかもしれません。また、埋め込みたい関数は再チェックしてください。' sheet1の最終行を求める(A列でチェック)
Worksheets("sheet1").Select
Range("A65536").End(xlUp).Select
MyRow = ActiveCell.Row '行番号を記憶
'アクティブシートを集計シートに切り替える
Worksheets("sheet2").Select
'埋め込む関数を編集する
MyStr = "=SUMIF('Sheet1'!R3C4:R" & MyRow & "C4,RC2,'Sheet1'!R3C11:R" & _
MyRow & "C11)"
For i = 1 To 30
ActiveCell.FormulaR1C1 = MyStr
・・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Excel(エクセル) EXCEL値貼り付け(ある条件のもと自動化) 5 2023/06/06 12:21
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
- その他(Microsoft Office) SUMIFとCOUNTIFの違いについて 4 2022/09/29 14:13
- Visual Basic(VBA) ExcelVBAの複数指定範囲の構文 2 2022/05/26 22:39
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) エクセルVBAで複数のシート印刷設定 1 2022/09/07 12:03
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の色の数字だけ...
-
ピボットテーブルでは時間の表...
-
【エクセル】オートフィルタで...
-
【Excel】ピボットテーブルで他...
-
フィルタをしても最下行を常に...
-
マクロ実行時にエラーが出てし...
-
いい機能だけど、毎回めんどく...
-
VBAで重複する項目を1つにまと...
-
ピボットを更新すると数式が入...
-
ピボットテーブルで同じデータ...
-
ピボットの集計方法「合計」初...
-
EXCELで月別集計、グラフで実績...
-
エクセル 関数を使った横方向の...
-
Excelで毎日の売上を入力すると...
-
アンケートの集計
-
エクセル ピボットテーブルで売...
-
エクセルの主軸と第2軸の0を合...
-
エクセルで文字が白くなる
-
Excel2017 フィルタ昇順並びがA...
-
エクセルで文字を含む式に、カ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の色の数字だけ...
-
【エクセル】オートフィルタで...
-
フィルタをしても最下行を常に...
-
ピボットテーブルでは時間の表...
-
VBAで重複する項目を1つにまと...
-
アンケートの集計
-
ピボットの集計方法「合計」初...
-
複数のピボットテーブルを一括...
-
ピボットを更新すると数式が入...
-
ピボットテーブルのページエリ...
-
EXCEL 重複データの集計の仕方
-
エクセル 関数を使った横方向の...
-
エクセルの小計を自動的に色づ...
-
Excelの集計結果だけをコピー貼...
-
エクセル、リソース不足エラー...
-
excelで集計の合計を降順に並べ...
-
EXCELで増減率を計算したいです
-
いい機能だけど、毎回めんどく...
-
ピボットテーブルで同じデータ...
-
Excel : 二通りの合計が合わな...
おすすめ情報