プロが教える店舗&オフィスのセキュリティ対策術

EXCELで、1ページ内で、最後まで書くと自動的に列を折り返すようにマクロを設定したいのですが、完全初心者なので何をどうすればいいのか全く分かりません。明日、職場で使う必要があります。どうか助けて下さい(><)
1ページが60行で、A~Cの列を使って表を作った場合(A:名前、B:年齢、C:生年月日)、数値を入力して、各列の61行目に数値を入力すると、自動的にD~F(D:名前、E:年齢、F:生年月日)の列に折り返して数値が表示されるようにしたいです。大体、3回くらい折り返したいです。記述方法を教えて下さい。

A 回答 (7件)

No.5です。

ずばりマクロです。入力を聞いてくるので一度目は60、2度目は3を入力して下さい。
Dim 行数 As Long
Dim 列数 As Integer
Dim 行 As Long
Dim 移動行 As Long
Dim 移動列 As Integer
Dim 組 As Integer
組 = 3
行数 = InputBox("行数を入力して下さい")
列数 = InputBox("列数を入力して下さい")
For 行 = 1 To Cells(1, 1).End(xlDown).Row
If 行 > 行数 Then
移動列 = ((Int((行 - 1) / 行数)) Mod 列数 + 1) * 組 - 2
移動行 = 行 - (Int((行 - 1) / 行数)) * 行数 + Int(((行 - 行数 * 列数 - 1) / 行数 / 列数) + 1) * 行数
Cells(移動行, 移動列) = Cells(行, 1)
Cells(移動行, 移動列 + 1) = Cells(行, 2)
Cells(移動行, 移動列 + 2) = Cells(行, 3)
Cells(行, 1).ClearContents
Cells(行, 2).ClearContents
Cells(行, 3).ClearContents
End If
Next

この回答への補足

丁寧なご回答有難うございました。
基本的な事を聞いて申し訳ないのですが、上記の命令文をそのままVBEを開いて「挿入」の「標準モジュール」に貼り付けしたらよろしいのでしょうか?

補足日時:2006/04/14 20:30
    • good
    • 0

No.6です。


SUB TEST()
END SUB
が先頭と最後に必要です。
一度お試しあれ。
    • good
    • 0
この回答へのお礼

時間が経ってしまって、申し訳ありません。
お教え頂いた方法で、ばっちり出来ました!
この度は、稚拙な説明にも根気よくお付き合い下さり、本当に有難うございました。
また、機会がありましたら、いろいろとお教え頂けたら嬉しいです。明日からの業務で早速使わせて頂きます、助かりました。

お礼日時:2006/04/16 15:06

No.4です。


それでは、10000行を三列では、一列あたり3300行になりますが、それであってますでしょうか。
それとも60行で区切って、続きは次のページになるのでしょうか。
似たようなソフトは作成したことがあります。

この回答への補足

説明が悪いばかりに、何度も質問して頂くような事になってしまって申し訳ありません。
後者の方です。1ページを60行ごとに3段で区切って、それを超えた場合は自動的に次のページに挿入されるような方法を探しています。
何度も申し訳ありません。宜しくお願い致します(__)

補足日時:2006/04/14 19:00
    • good
    • 0

なかなか理解できなくて申し訳ないのですが、もう少し詳しく教えて下さい。


1.データを手入力するのではなく、どこかからデータが来るのですか。それをどうやってエクセルに取り込むのですか。テキスト読み込みもしくは、コピーペーストするのですか。
2.3段組というのは、読み込んだデータを自動的に A-C,D-F,G-Hの三列に(一列当たり60行で区切って)分けるということですか。
3.名前、年齢、生年月日のデータが縦に10000程並んでいるということですか。

この回答への補足

巧く説明できず、何度も申し訳ありません。
1.データはアクセスの入力システムに入力されていて、EXCELに書き出しして渡してくれます。
2.全くその通りです。それが出来れば、かなり業務が短縮できます。
3.同じくその通りで、その並びで単純に並んでいるだけです。医療検診データなので、毎日それくらいやって来ます。

どうぞ、宜しくお願い致します(__)

補足日時:2006/04/13 23:30
    • good
    • 0

D1のセルに=A61という式(あとも同様)を入れておけば表示されます。

この回答への補足

再度のご連絡有難うございました。
今日、更に詳しく聞いて来ました。
Excelで、Word文書の3段組みのような表示方法を自動的に取ってくれる方法を探しています。量が膨大(毎日新規で10,000人分くらいのデータがやって来ます)なので、いちいち入れて行くのは手間が掛かり過ぎるのです。

補足日時:2006/04/12 23:10
    • good
    • 0

なぜそのような処理が必要なのでしょう?


もし印刷のためなら、Excelではそのような処理は不要と思いますが、、、
ファイル-ページ設定で行タイトルを設定して、好きな所に挿入-改ページすれば良いような、、、
    • good
    • 0

A1,B1,C1---A60,B60,C60の順番で入力し、C60の入力が終われば、カーソルをD1に移動させたいということですか。

この回答への補足

ご質問有難うございます。
A61からの数値がD1に、B61からの数値がE1、C61からの数値がF1に自動的に入るようにしたいです。更に、D61からの数値がG1に、E61からの数値がH1、F61からの数値がI1にも自動的に入るようにしたいです。
可能らしいのですが、今までマクロを使った事がないので、全く検討がつきません。宜しくお願い致します。

補足日時:2006/04/11 21:14
    • good
    • 0

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