コメントする方の心無い言葉に傷つく人も居るので気をつけて欲しいと考えております。
質問文に言葉が足りないことを棚に上げて、
自分の意図が伝わらないことを他人のせいにされても困ります。
回答側は質問文を読んだ率直な感想をコメントされているだけで、
それがいいとも悪いとも言ってないと思います。
ただただ、質問者の意図が伝わらないことを伝えられているだけかと思います。
文字だけのやり取りですので、どうしてもニュアンスが伝わらなく、
きつく受け取られてしまうこともありますが、この辺は慣れていただくしかないかなと思います。
あと、全く放置されるより何らかの返答がある方がまだましかと思います。
この質問の後、もう一方で同じ質問をされたんですかね?
そういう時は、こっちは解決にしておいてもらえませんか?
それから、もう一方の質問もそちらの意図が伝わってないようですが、
解決なんですかね?(こちらの勘違いでしょうか?)
で、こっちは未解決で回答を待っているのですかね?
とりあえず回答を待っているのであろうということで、本題。
A1に"1"と記入する。
2行目をA2:"2",B2:"3",C2:"4",D2:"5",E2:"6",F2:"7”,G2:"8"と記入する。
3行目をA3:"9",B3:"10",C3:"11",D3:"12",E3:"13",F3:"14",G3:"15",H3:"16",J3:"17",K3:"18",L3:"19",M3:"20"~"27"と記入する。
このようなプログラムをVBAで作る際には、
どのようなプログラムを書けば良いのでしょうか。
ここだけを読むと
range("A1").value = 1
range("A2").value = 2
range("B2").value = 3
range("C2").value = 4
以下続く
このようにつらつら書き連ねていけばいいけど、
そういうことではないですよね?
繰り返しの構文を使って、コードを短くしたいと思ったのですよね?
ならば、そのように書くべきです。
A1を1行目として考える。
A2を2行目として考える。
A3を3行目として考える。
この辺の表現もわかりづらいと思います。
A1はA列の1行目のことだから、1行目として考えなくても1行目ですよね?
A2は当然2行目。
当たり前のことを言ってるだけで、よくわからないといえばよくわからない。
まずはこう考えてみてはいかがでしょうか?
1)A1セルを起点に考える(C5セルに起点が変わっても、起点は起点で)
2)1回目は、起点から1行、その時セルの幅は、1列分
3)2回目は、起点からの2行目、その時のセルの幅は、7列分
↑ここをこちらが6列と数え間違いましたので確認しました。
4)3回目は、起点からの3行目、その時のセルの幅は、19列分
5)以降任意の回数まで繰り返す。
この時に、その対象のセルに連番を記入したい
1+3n(n-1)
で、列が増えるなら、
ならば、ルールが解っているならそのルールも説明すべきです。
それから、ここのサイトは画像を挿入できますので、
意図する結果を画像で説明されると分かりやすいかなと思います。
このことをコード化したら、
ExcelVBA
1Sub test()
2 Dim i As Long
3 Dim j As Long
4 Dim k As Long
5
6 For i = 1 To 5
7 For j = 1 To 1 + 3 * i * (i - 1)
8 k = k + 1
9 Range("A1").Cells(i, j).Value = k
10 Next
11 Next
12End Sub
こんな感じになると思います。
たぶん、列数と入力する数値と2つ同時に違う量変化させたいけど、
やり方が思いつかなかったと思いますが、
意図がくみ取れてますでしょうか?
あと、
「初心者」と言えばなんでも許されるわけでもなければ、
回答者の対応が変わるわけでもありません。
初心者でも上級者でも対応は変わりません。
初心者なんだからもっと優しく教えろよとお思いかも知れませんが、
単に、知らない人が聞く、知っている人が答えるというスタンスで良くないですか?
当然、意図が伝わらなければ、回答者も質問者も聞き返すことになると思います。
適切な言葉を思いつかないことがあるのは、質問者も回答者も同じです。
やり取りの中で、話をすり合わせていけたらと思います。
あと、解決してもしてなくても、
回答が参考になった。とか
思い通りの結果が得られた。とか、
意図とは違う結果になった。とか、
他の回答を参考にしたので、試せる時間がない。とか
長々と説教がうるさい。とか、(たまに言われます^^;)
回答にコメントいただけますか?
回答した結果がどうなったかは知りたいです。
こちらも日々勉強なので。。。
長々と乱文、失礼しました。