質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

530閲覧

addressプロパティで取得した列名を利用した数式の作り方について

bigginer

総合スコア4

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/12/25 09:21

■前提(実現したいこと)
A列に小計という文字列が何行かおきに入力されています。
A列小計行を見て、該当列にSubtotal関数を入力したいです。
該当列は、見出項目(1行目)に「金額」が入力されている列であり、複数列存在します。
該当列を探した後に、Subtotal関数を該当行に入力したいです。

■実現できないこと(下記②の箇所)
(A列)が小計の文字列の場合、(例:B列)subtotal関数を作成する。
①addressプロパティを使い、列名を取得する。
② ①で取得した列名を「A1形式」に変換し、subtotal関数を作成したい。

■作成中のコード
Sub 小計設定()

Dim myRange As Range'keywordを探す領域 Dim FoundCell As Range Dim keyword As String 'keywordを探す領域をセット Set myRange = Range(Cells(1,2),Cells(1,最終列))’(←最終列は前モジュールで取得済み変数) keyword = "金額" 'keyword対象セルを検索 Set FoundCell = myRange.Find(keyword, LookAt:=xlWhole) Dim myCell As Range Set myCell = FoundCell Dim 列A1形式 as string Do ’subtotal関数最初の業をsidxとする sidx = 2 For r = 2 to 最終行’(←最終行は前モジュールで取得済み変数) If Cells(r,1)="小計" 列A1形式 = Split(Cells(r,myCell.Column).Address, "$")(1) '▼******ここが判りません。(「列A1形式」取得した変数をSUBTOTALへの繋ぎ方)********************************* Cells(r.myCell.Column).Formula = "=SUBTOTAL(9,列A1形式" & sidx & ":列A1形式" & r -1 & ")" '▲******判らない箇所ここまで********************************************************************* sidx = r + 1 End if Next '次に見つかったセルをmyCellにセット Set myCell = myRange.FindNext(myCell) Loop While myCell.Column <> FoundCell.Column

End Sub

不明な箇所は****で囲んだ1行です。
誠に恐れ入りますが、ご教授いただきたくどうぞ宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以下のようにしてください。
Cells(r.myCell.Column)は
Cells(r,myCell.Column)が正しいです。

VBA

1Cells(r, myCell.Column).Formula = "=SUBTOTAL(9," & 列A1形式 & sidx & ":" & 列A1形式 & r - 1 & ")" 2

投稿2021/12/25 12:05

tatsu99

総合スコア5438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bigginer

2021/12/25 13:10

コードで的確にご説明していただきまして誠に有難うございました。 無事に実現したいことができました。 重ねて御礼申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問