• 締切済み

座席表作成

エクセルVBA初心者です。 約5000席の座席表に連番で表記したいのですが・・・ まずは横30席、縦54席の連番を一発で出来るのでしょうか? しかも蛇行スタイルなんです。 一列目 1.2.3.4.5.6.7.8.9.10 二列目 20.19.18.17.16.15.14.13.12.11 三列目 21.22.23.24.25.26.27.28.29.30 といったようにしたいです。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.5

ざっと書くとこんな感じ startRange = "b2" ColsCount = 30 RowsCount = 54 Dim x() As Integer ReDim x(RowsCount, ColsCount) Set orgRange = Range(startRange) For j = 0 To (UBound(x, 1) - 1) / 2 For i = 0 To UBound(x, 2) - 1 x(j * 2, i Mod UBound(x, 2)) = i + 1 + j * UBound(x, 2) * 2 x(1 + j * 2, i Mod UBound(x, 2)) = UBound(x, 2) * 2 - i + j * UBound(x, 2) * 2 Next Next Range(orgRange, orgRange.Offset(UBound(x, 1) - 1, UBound(x, 2) - 1)).Value = x

billy124
質問者

お礼

ありがとうございます。 実行してみます。

  • nak777r
  • ベストアンサー率36% (49/136)
回答No.4

おっと、一発ででしたね aNo.3 の操作を、マクロの記憶 で記憶してください。

  • nak777r
  • ベストアンサー率36% (49/136)
回答No.3

[A1]セルに 1 を記述 [B1]セルに =A1+1 を記述 [A2]セルに =A1+59 を記述 [B2]セルに =A2-1 を記述 [A3]セルに =A2+1 を記述 [B3]セルに =A3+1 を記述 [B1][B2][B3]の3つのセルをまとめて選んで、右下の■をつまんで右にAD列迄動かします 2行目、3行目の2行をまとめて選んで 同じ用に■をつまんで下に 求める行まで(5000席なのか 30*54=1620席なのかしりませんが) 動かします。 最後に 計算式が埋め込まれているので、 全てのセルを選択してコピー そのまま、形式を選択して貼り付け で 値 を選んでOK

billy124
質問者

お礼

ありがとうございました。 実際にやってできました。 助かりました。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

できるかできないか,ということならできる。 あなたが本当に求めているのはそれをしてくれるコードを書いてください ってことでしょ? 「蛇行スタイル」だからわからないのか そもそもVBAでどうやって連番を振るのかが わからない。どっち?

billy124
質問者

補足

質問下手ですいません。 VBAで連番を振ることをしたいので、コードを教えて下さい。 よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

たとえば A1が1,B1が2・・・AD1が30 A2が60,B2が59・・・・AD2が31 みたいにセルに埋めたいの? 前回の質問からしても情報がたりなくて回答がしにくい

billy124
質問者

お礼

質問下手ですいません。 yambejpさんが言ってくださっていることです。 セルに埋めたいだけです。

関連するQ&A

専門家に質問してみよう