プロが教えるわが家の防犯対策術!

写真のようなリストがあります。(下の方に20人分ぐらい続きます)
マクロで以下の事をしたいのでVBEでの書き方(?)を教えて下さい。

①表の中の赤色のセル(E-AI列の8行目・12行目・16行目・・・表の中の最後(一番下)まで)の表示形式が「文字列」になっているので、全て「標準」に変える(赤色のセルのみです)

②8行目の赤色のセルのE-AIをコピーして12行目・16行目・・・表の中の最後(一番下)までに書式を張り付ける

※①が完了した後、手動で少しいじってから②を実行したいので、②は別に教えて下さい。(①と②を別に記憶させる)
※表は日によって(在籍人数によって)最終行が変わるので自動で最終行を検知し、ストップしてほしいと思います。

宜しくお願い致します。

「エクセルVBAの書き方を教えて下さい」の質問画像

質問者からの補足コメント

  • ②の 「書式」を張り付ける の部分は「数式」を張り付けるの間違いです。
    すみませんがご存知の方、宜しくお願い致します。
    エクセルにあまり詳しくない為、出来れば完成形を教えて頂けると助かります。

      補足日時:2019/01/22 09:34

A 回答 (3件)

「For Each」構文と、


「Rangeオブジェクト配下のInteriorオブジェクト」と、
「入力されているデータの最終セルを取得する」方法と、
VBAでの、
変数扱い、
オブジェクトの 代入を、
検索して くださいな。


説明しても いいけど、
検索先の方が、
豊富な 解説量ですからね。
    • good
    • 0

なら、


.Range(○,×).formula を、
検索して くださいな。
    • good
    • 0

こんばんは!



A列で最終行を取得するようにしていますので、A列には何らかのデータが入っている!という前提です。

まず①から

Sub Sample1()
 Dim i As Long
  For i = 8 To Cells(Rows.Count, "A").End(xlUp).Row Step 4
   Range(Cells(i, "E"), Cells(i, "AI")).NumberFormatLocal = "G/標準"
  Next i
End Sub

次に②ですが、数式をコピー&ペーストしたい!というコトですが、
8行目の数式はE列の数式を右にAI列までフィル&コピーしている!という前提です。

Sub Sample2()
 Dim i As Long
  For i = 12 To Cells(Rows.Count, "A").End(xlUp).Row Step 4
   Range(Cells(i, "E"), Cells(i, "AI")).Formula = Range("E8").Formula
  Next i
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます!
試してみます!

お礼日時:2019/01/23 05:08

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