エクセル2016 Windows10
Activeシートの指定セルに関数を入れそれを指定行まで繰り返したいです。
例えば、
1.A4,H4,O4,V4のセルにVlookup関数【VLOOKUP(A3,INDIRECT("カテゴリー!G:H"),2,FALSE)】を入れる。
※A3,H3,O3,V3には品番が入力されています。
2.次に11行下のA15,H15,O15,V15に同じVlookup関数【VLOOKUP(A14,INDIRECT("カテゴリー!G:H"),2,FALSE)】を入れる。
※A14,H14,O14,V14には品番が入力されています。
3.その関数を入れる作業を1000行まで繰り返したいです。
マクロで行いたいのですが、指定セルに関数を入れる事は可能でしょうか?
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
4行目のA列、H列、O列、V列のセルに、
「=VLOOKUP(A4,INDIRECT("カテゴリー!G:H"),2,FALSE)」の式を、マクロで入れる。
15行目、26行目、37行目、48行目、と11行毎に、A4の行番号を変えた式にして、1000行目まで繰り返す。
Sub test()
式前 = "=VLOOKUP(A"
式後 = ",INDIRECT(""カテゴリー!G:H""),2,FALSE)"
For i = 11 To 1000 Step 11
式 = 式前 & i - 1 & 式後
Cells(i, 1).Formula = 式: Cells(i, 8).Formula = 式
Cells(i, 15).Formula = 式: Cells(i, 22).Formula = 式:
Next
End Sub
でも、これだとH14,O14,V14に品番を入力する必要はないように思います。
いつも参照してるのはA列だけですよね。
「A15,H15,O15,V15に同じVlookup関数【VLOOKUP(A14,INDIRECT("カテゴリー!G:H"),2,FALSE)】を入れる」のはなくて、
A列、H列、O列、V列のセルに、
「=VLOOKUP(★★,INDIRECT("カテゴリー!G:H"),2,FALSE)」の式(★★の部分は、式を言えるセルの上の位置のセルを参照させる)を、マクロで入れる。
Sub sample()
式前 = "=VLOOKUP("
式後 = ",INDIRECT(""カテゴリー!G:H""),2,FALSE)"
For i = 11 To 1000 Step 11
式 = 式前 & "A" & i - 1 & 式後
Cells(i, 1).Formula = 式前 & "A" & i - 1 & 式後
Cells(i, 8).Formula = 式前 & "H" & i - 1 & 式後
Cells(i, 15).Formula = 式前 & "O" & i - 1 & 式後
Cells(i, 22).Formula = 式前 & "V" & i - 1 & 式後
Next
End Sub
No.4
- 回答日時:
No1です。
すでに、回答は出ていますけれど・・
関数式を書き換えるのは面倒なので、まとめて設定する方式での例です。
ご提示の関数式が、わざわざINDIRECT関数を用いている理由が不明なので、外して絶対参照に替えてあります。
以下、ご参考までに。
Sub Sample12984153()
Dim u As Range, i As Long
Const f = "=VLOOKUP(A3,カテゴリー!$G:$H,2,FALSE)"
Set u = Range("A4,H4,O4,V4")
For i = 15 To 1000 Step 11
Set u = Union(u, u.Offset(11))
Next i
u.FormulaLocal = f
End Sub
No.2
- 回答日時:
>2.次に11行下の・・1000行まで 994行?1005行?
Dim n As Long
Application.Calculation = xlCalculationManual
For n = 4 To 1005 Step 11
Range("A" & n & ",H" & n & " ,O" & n & " ,V" & n).FormulaLocal = "=VLOOKUP(A" & n - 1 & ",INDIRECT(""カテゴリー!G:H""),2,FALSE)"
Next
Application.Calculation = xlCalculationAutomatic
No.1
- 回答日時:
こんにちは
>指定セルに関数を入れる事は可能でしょうか?
可能です。
A1参照形式の式なら、セルの FormlaLocal プロパティに
https://docs.microsoft.com/ja-jp/office/vba/api/ …
R1C1参照形式の式なら、セルの FormulaR1C1 プロパティに
https://docs.microsoft.com/ja-jp/office/vba/api/ …
設定すればよいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) エクセル関数のXlookupのフィルハンドル機能(類した機能でも可)を知りたいです。 3 2022/09/20 20:02
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) エクセル・セルに数式を入力してセル指定計算 2 2023/04/21 12:46
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
EXCELのcountif関数での大文字...
-
エクセル1行おきのセルを隣の...
-
自分の左隣のセル
-
文字列から英数字のみを抽出す...
-
EXCELでマイナス値の入ったセル...
-
条件付き書式の色付きセルのカ...
-
エクセル、○が連続する回数を数...
-
エクセルでエンターを押すと任...
-
excelで、空白を除いてデータを...
-
エクセルVBAでチェックボックス...
-
EXECL バーコード生成でBarCode...
-
Excelで日付が入っていたら金額...
-
ある列、或いは、ある行のセル...
-
エクセルで年月日から月日のみへ
-
EXCEL マクロで2つの作業を行い...
-
エクセルで、指定の値よりも大...
-
エクセルで空白で無いセルの数...
-
エクセルの使い方エクセルにつ...
-
エクセルVBA 行列の数を指定し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
エクセル1行おきのセルを隣の...
-
自分の左隣のセル
-
エクセルで、指定の値よりも大...
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
エクセルで、A2のセルにA3...
-
エクセルで年月日から月日のみへ
-
エクセルに入力後、別シートの...
-
【Excel】4つとばしで合計する方法
-
Excelで大量のセルに一気に関数...
-
エクセルで特定のセル内にだけ...
-
EXCELのcountif関数での大文字...
-
EXCELでマイナス値の入ったセル...
-
条件付き書式の色付きセルのカ...
-
エラー「#REF」の箇所を置き換...
-
Excelで離れた位置のAVERAGEを...
-
同一セル内の重複文字を削除し...
-
週の労働時間を計算するエクセル
おすすめ情報