Sub test1()
With Range("G2:G13")
  .Formula = "=VLOOKUP(A2&""_""&E2,data貼り付け!A:L,8,FALSE)"
 End With
End Sub
上記のようにG2からG13まで(12行)VLOOKUP関数を入力という処理をしています
この処理が終わったら2行下(G15)に移動し、G15~G26(12行)まで上記の関数を貼り付ける
というものを4459行目まで繰り返したいのです。

こちらは初心者ですので何卒お願い致します

A 回答 (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
    • good
    • 0

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
    • good
    • 0

ループで行うなら下記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
    • good
    • 0

No.2です。



投稿後気づきました。
コード内の
>myRng.Select
の行は不要でした。
消去してください。
(確認の意味で入れていただけです)m(_ _)m
    • good
    • 0

こんにちは!



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
    • good
    • 0

G14,G27,G40・・・G4447セルはすべて何か入力されているのですか?


入力されていないなら、後から消す方が処理が早そうです
すべて入力されているなら、入力されていないセルを選択して
入力させれば良いので、
繰り返し構文が必要なさそうです。
数式の入力が目的ではなく、質問のような繰り返し構文を勉強したいのでしょうか
FOR i=2 to 4448 step 13
みたいな
http://excelvba.pc-users.net/fol6/6_3.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

今、見られている記事はコレ!

  • エクセルの図形機能で歌川国芳の浮世絵を描く動画

    教えて!goo動画マスターのスズです。自慢じゃないが私は絵がとても下手だ(本当に自慢じゃない)。6歳の子どもを相手に、言葉を口にせずに描いた絵だけでやりとりする「絵しりとり」をやっていて、「自転車」を描い...

  • たまランチ:第47話「さつまいも」

    外ランチを愛してやまない元気な女子社員・たまちゃん(26)。オシャレなお店より「安くておいしい」お店が大好き! そんな女子力低めなたまちゃんの、色気より食い気な日々をつづります。

  • エルフ田さん:第71話「貯められる人」

    エルフ(ファンタジーとかに出てくる長寿の種族)の「エルフ田」と、ただの人間である女子社員2人による日常ギャグ。エルフならではのズレたツッコミでバシバシ人間界の話題を斬っていきます。

  • 感情的にならない人の気質

    あなたの身の回りで感情表現が薄い人はいないだろうか? 感情表現が薄いといい意味でクールに感じ、大人な印象を持つ人も多いだろう。だが、一方で何を考えているか分からず、とっつきづらい印象を抱くこともあるの...

  • デニーズで6月7日より「ビーフフェア」が開催

    デニーズで2016年6月7日から7月11日(予定)まで、「ビーフフェア」が開催される。気温も上昇し、スタミナを身体に取り入れたいこの時期におすすめなビーフメニュー4品が提供される。 登場する4品は、しっとりとし...

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

コンピュータやスピーカーなどのオーディオ、スマートフォンをはじめとした携帯電話とそのサービスに関する質問が充実。急なトラブルの対策案もここで得られるかもしれません。

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ