ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:billy124 座席表作成
困り度:
  • すぐに回答を!
エクセル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

といったようにしたいです。
質問投稿日時:08/03/14 12:41
質問番号:3861783
最新から表示回答順に表示

回答

 

回答者:yambejp ざっと書くとこんな感じ

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
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/03/14 22:14
回答番号:No.5
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼ありがとうございます。

実行してみます。

回答

 

回答者:nak777r おっと、一発ででしたね

aNo.3 の操作を、マクロの記憶
で記憶してください。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/03/14 17:23
回答番号:No.4
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:nak777r [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
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/03/14 17:18
回答番号:No.3
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼ありがとうございました。

実際にやってできました。

助かりました。

回答

 

回答者:sakusaker7 できるかできないか,ということならできる。

あなたが本当に求めているのはそれをしてくれるコードを書いてください
ってことでしょ?

「蛇行スタイル」だからわからないのか
そもそもVBAでどうやって連番を振るのかが
わからない。どっち?
種類:補足要求
どんな人:経験者
自信:参考意見
回答日時:08/03/14 15:20
回答番号:No.2
この回答への補足質問下手ですいません。

VBAで連番を振ることをしたいので、コードを教えて下さい。

よろしくお願いします。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:yambejp たとえば
A1が1,B1が2・・・AD1が30
A2が60,B2が59・・・・AD2が31
みたいにセルに埋めたいの?

前回の質問からしても情報がたりなくて回答がしにくい
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:08/03/14 13:58
回答番号:No.1
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼質問下手ですいません。

yambejpさんが言ってくださっていることです。

セルに埋めたいだけです。
最新から表示回答順に表示