解決済
VBAである規則性があるコードがあるのですがうまく出来ません。どなたかお願いします。
Worksheet("test" & TY).Cells(1, 6).name ="DD" & TY & "0101"Worksheet("test" & TY).Cells(2, 6).name ="DD" & TY & "0102"
Worksheet("test" & TY).Cells(3, 6).name ="DD" & TY & "0103"
Worksheet("test" & TY).Cells(4, 6).name ="DD" & TY & "0104"
Worksheet("test" & TY).Cells(5, 6).name ="DD" & TY & "0105"
最後の0101とかは日付に近い形にしたいのですがここをどうスマートなコーディングをしたらいいか迷っています。
フォーマットの関係で出来るだけ日付型は避けたいです。連続でセルに名前をふりたいのでお願いします。
回答(2)
5.

1.規則性がある部分は、数字が1から5へ順に変化。
2.変化している部分を変数(例えばi)に置き換える。
3.For~Nextループで、iを1から5へ変化させて、囲んでやる。
Option Explicit
Dim i As Integer
For i = 1 To 5
Worksheet("test" & TY).Cells(i, 6).Name = "DD" & TY & "010" & i
Next解決しました。コードの書き間違いもあってよくなかったです。・・・すみません。
For i = 1 to 365
Worksheet("test" & TY).Cells(i, 6).Name = "DD" & Format(Date, yyyymmdd)
Next i
1.
For i = 1 To 5
Names.Add Name:="DDate" & ty & "01" & Right("0" & i, 2), RefersTo:="=test" & ty & "!" & Worksheets("test" & ty).Cells(i, 6).Address
Next
コメント(4)
もしかして、0101っていうのは、1月1日のことですか?
だとしたら、mm、ddで二重にループさせてやって、
="DD" & TY & Format(mm, "00") & Format(dd, "00")
かな???
回答5って実際に試してみた?
有難うございます
コードの一番最後は日付ですね
5番の形は既にやったんですけどセル番地は全く違う(1から始まらないので)のでうまく出来ていないのです(汗)
コードが提示されて、「このコードを奇麗にしたい」という要求なので、「提示されたコードは正しく動く」という前提で回答しています。
提示されたコードが正しく動いているという前提で書き換えただけです。
コードが動かないのであれば、「このコードではうまくいきませんでした」と説明し、「このセルに、こういう条件で、こういう値を書き込みたいのだが、どういうコードを書くべきか?」という風な質問でないと、回答しようがないのでは?

