電子書籍の厳選無料作品が豊富!

VBAである規則性があるコードがあるのですがうまく出来ません。どなたかお願いします。

Worksheet("test" & TY).Cells(15, 6).name ="DD" & TY & "0101"
Worksheet("test" & TY).Cells(16, 6).name ="DD" & TY & "0102"
Worksheet("test" & TY).Cells(17, 6).name ="DD" & TY & "0103"
Worksheet("test" & TY).Cells(18, 6).name ="DD" & TY & "0104"
Worksheet("test" & TY).Cells(19, 6).name ="DD" & TY & "0105"






かなり似通っているのでfor~Nextでいけると思うのですが・・・
ここにあるのはあくまで一部なのでもっといっぱいあります。
どうスマートなコーディングをしたらいいか迷っています。
最後の0101とかは日付に近い形にしたいのですがここをどうループさせたらいいか迷っています。
フォーマットの関係で出来るだけ日付型は避けたいです。連続でセルに名前をふりたいのでお願いします。

A 回答 (2件)

> Worksheet("test" & TY).Cells(15, 6).name ="DD" & TY & "0101"


> Worksheet("test" & TY).Cells(16, 6).name ="DD" & TY & "0102"
> Worksheet("test" & TY).Cells(17, 6).name ="DD" & TY & "0103"
> Worksheet("test" & TY).Cells(18, 6).name ="DD" & TY & "0104"
> Worksheet("test" & TY).Cells(19, 6).name ="DD" & TY & "0105"


この部分だけをForで回すとしたら、
For I=1 to 5
 Worksheet("test" & TY).Cells(I+14, 6).name ="DD" & TY & & format(I+100,"0000")
Next I

さて、これがスマートかどうかは、その人のセンスによります。
ではでは
    • good
    • 0

>VBAでシート名の定義を変更したいのですが


しかし、質問のコード例では、セル(の安易)に名前をつけているのでは。
===
私の経験はたいしたことはないが、質問や回答を6-7年見てきて、セルに軒並みなまえをつける例を記憶にない。
定義して、その後コーディング上すっきりするとかの、目算はあるのですか。
===
コード例ではどこが変化すつところかな。
それが伝わらない(例だけでは意図は文章にしないと伝わりにくい)のだ
●>Cells(15, 6の15 は変化させるのだろうが
●後は"0101"の部分だけか?
>日付に近い形にしたいのですがここをどう
近いなんてあいまいな書き方はどういうことを意味するのか。
0101-0102-・・・-0131-0201-・・・0229ー00301-0302・・と暦の年月をくっつけばよいのか。
==
>いっぱいあります
test,TY,DDは変わらないのだな。
まさかDDは日付でないでしょうね。紛らわしい。
    • good
    • 0

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