No.6ベストアンサー
- 回答日時:
No.2・3です。
たびたびごめんなさい。
もっと簡単な数式で大丈夫です。
前回のコードは消去し
↓のコードに変更してください。
Sub Sample2()
Dim i As Long, myRng As Range, wS As Worksheet
Set wS = Worksheets("data貼り付け")
Set myRng = Range("G2").Resize(12)
For i = 2 To 4448 Step 13
If myRng Is Nothing Then
Set myRng = Cells(i, "G").Resize(12)
Else
Set myRng = Union(myRng, Cells(i, "G").Resize(12))
End If
Next i
myRng.Formula = "=VLOOKUP(A2&""_""&E2,data貼り付け!A:L,8,FALSE)"
End Sub
どうも失礼しました。m(_ _)m
No.5
- 回答日時:
No.1です。
回答も出てきたようなのでSub test5()
Dim i As Long
For i = 2 To 4448 Step 13
Range("G" & i & ":G" & i + 11).FormulaR1C1 = _
"=VLOOKUP(RC[-6]&""_""&RC[-2],data貼り付け!C[-6]:C[5],8,FALSE)"
Next
End Sub
とか
Sub test6()
Dim i As Long
Dim Rng As Range
Set Rng = Range("G2:G13")
For i = 15 To 4448 Step 13
Set Rng = Union(Rng, Range("G" & i & ":G" & i + 11))
Next
Rng.FormulaR1C1 = _
"=VLOOKUP(RC[-6]&""_""&RC[-2],data貼り付け!C[-6]:C[5],8,FALSE)"
End Sub
No.4
- 回答日時:
ループで行うなら下記test1のようになると思います。
VLOOKUPの式にも手を入れないと正しい結果が得られないので、呪文のようになってしまいます。ループに拘らなければ、test2でもできます。G2:G14を範囲選択して、G4459までオートフィルするイメージです。
Sub test1()
Dim i As Long
For i = 2 To 4448 Step 13
With Range("G" & i & ":G" & i + 11) '←i=2の場合、"G2:G13"になります。
.Formula = "=VLOOKUP(A" & i & "& ""_""&" & "E" & i & ",data貼り付け!A:L,8,FALSE)"
End With
Next i
End Sub
Sub test2()
With Range("G2:G13")
.Formula = "=VLOOKUP(A2&""_""&E2,data貼り付け!A:L,8,FALSE)"
End With
Range("G2:G14").AutoFill Destination:=Range("G2:G4459"), Type:=xlFillDefault
End Sub
No.3
- 回答日時:
No.2です。
投稿後気づきました。
コード内の
>myRng.Select
の行は不要でした。
消去してください。
(確認の意味で入れていただけです)m(_ _)m
No.2
- 回答日時:
こんにちは!
G列には計算結果ではなく、数式を残したいのですね?
一例です。
Sub Sample1()
Dim i As Long, myRng As Range
Set myRng = Range("G2").Resize(12)
For i = 15 To 4448 Step 13
Set myRng = Union(myRng, Cells(i, "G").Resize(12))
Next i
myRng.Formula = "=VLOOKUP(INDIRECT(""A""&ROW())&""_""&INDIRECT(""E""&ROW()),data貼り付け!A:H,8,False)"
myRng.Select
End Sub
※ VLOOKUP関数の入れ子に他の関数が入っていますが、
結果としてはVLOOKUP関数がそのまま入っています。
こんな感じではどうでしょうか?m(_ _)m
No.1
- 回答日時:
G14,G27,G40・・・G4447セルはすべて何か入力されているのですか?
入力されていないなら、後から消す方が処理が早そうです
すべて入力されているなら、入力されていないセルを選択して
入力させれば良いので、
繰り返し構文が必要なさそうです。
数式の入力が目的ではなく、質問のような繰り返し構文を勉強したいのでしょうか
FOR i=2 to 4448 step 13
みたいな
http://excelvba.pc-users.net/fol6/6_3.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 3 2022/08/21 20:51
- Visual Basic(VBA) QRコード作成マクロについて 3 2022/11/26 16:55
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) Excel_マクロ_現在開いているシートにマクロを実行したいです 1 2023/02/14 23:54
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 2 2022/03/28 17:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルでセルにポインタする...
-
エクセル逆三角マークで選択項...
-
エクセルVBA ブックを閉じる前...
-
エクセルでセルの三角を押すこ...
-
エクセル 入力規則のリストボ...
-
excelの入力規則リストで重複不...
-
エクセルの入力規則で作ったリ...
-
エクセルでセルのコメントが消...
-
シートを保護しても入力規則を...
-
エクセルで、セルをクリックす...
-
【Excel】ドロップダウンリスト...
-
入力規則の入力時メッセージの...
-
Excelの入力規則のリストの文字...
-
EXCELでセルの右横に△のマ...
-
Excel 自動的に半角英数になり...
-
フォーム入力で入力規則を設定...
-
桐で下のデータを複写したい
-
エクセルVBA ユーザーフォーム...
-
Excelで決まった文字を簡単に入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセル逆三角マークで選択項...
-
エクセルでセルにポインタする...
-
シートを保護しても入力規則を...
-
エクセルVBA ブックを閉じる前...
-
エクセル 入力規則のリストボ...
-
【Excel】ドロップダウンリスト...
-
エクセルでセルのコメントが消...
-
Excel 自動的に半角英数になり...
-
エクセルの入力規則で作ったリ...
-
入力規則の入力時メッセージの...
-
Excelでセルに名前を定義したい...
-
エクセルで、入力できる箇所を...
-
ドロップダウンリスト(INDIREC...
-
入力規則をブック全体にかける...
-
エクセルで電話番号から市内局...
-
エクセルVBA ユーザーフォーム...
-
EXCEL:入力規則の「リスト」は...
-
Excelで同じセルに入力し エン...
-
エクセルで、セルをクリックす...
おすすめ情報