アプリ版:「スタンプのみでお礼する」機能のリリースについて

excelで2行の罫線枠中に上段:空白、下段:文字列とか、上段:文字列、下段:文字列のように様々な罫線枠内を1行に結合したいのですが、

○○┌────┬────┬─────┬──
1行 │(空白)│文字列 │(空白) │
2行 │ 文字列 │文字列 │ 数式 │
○○└────┴────┴─────┴──

この形式が数段、数シートに渡ってあります。

○○┌────┬────┬─────┬──
1行 │(空白)│文字列 │(空白) │
○○│ 文字列 │文字列 │ 数式 │
○○└────┴────┴─────┴──

上記のように1行に上下に結合したいのですが、こんなことできるのでしょうか。
何卒、ご教授下さい。

A 回答 (6件)

#5です。


多列の場合、シートを別にします。元をSheet1として
Sheet2に目的のものを出します。Sheet2の書式は書式-セル-配置で「折り返して全体を表示する」にする。
Sheet2のA1に関数式
=IF(MOD(ROW(),2)=0,"",Sheet1!A1&REPT(" ",20-LEN(Sheet1!A1))&CHAR(10)&Sheet1!A2)
と入れて、A1で+ハンドルをだし、第13列M列まで複写する。更にA1:M1を範囲指定し、Mで+ハンドルを出し、最終行まで引っ張る。
値を自分自身に複写して、式を消す。
セル結合のVBAは
Sub test04()
d = Range("A65536").End(xlUp).Row
Application.DisplayAlerts = False
For i = 1 To d Step 2
For j = 1 To 13
Range(Cells(i, j), Cells(i + 1, j)).Select
Selection.MergeCells = True
Next j
Next i
End Sub
を実行する。
    • good
    • 0
この回答へのお礼

無事、実行することが出来ました。
大変ありがとうございました。

お礼日時:2004/11/28 15:19

例えばA1に「あ」、A2に「い」と値があるとして、A1:A2をセル結合すると、A1だけ残り、A2の値は捨てられます。


(1)これでは困るので、A2のデータをA1にもって来て
結合しなければなりません。
(2)A1に集約されても、それまでのA1:A2の値の上下位置関係を保って欲しいと言うのが要求でしょう。
これを実現するのも一工夫要ります。
(3)セル結合の操作ですが、関数式では出来ません。
関数の本質は、値を扱うもので、セルの挿入・削除・結合・書式・表示形式は設定出来ません。このことを肝に命じておくこと。無理な期待をし勝ちである。
それで沢山有ればセル結合の操作が面倒であるから、VBAででもやらないといけない。CTRL+Yも有り得るかもしれないが、確認メッセージも出る。A1.A2の一方のセルが空白であれば確認メッセージは出ないようである。
(例データ)A1:A4
東京都の知事は誰ですか
石原知事です
弟は誰でした?
裕次郎です。
(関数式)
B列の書式を、書式-セル-配置で「折り返して全体を表示する」にする。
B1に=IF(MOD(ROW(),2)=0,"",A1&REPT(" ",20-LEN(A1))&CHAR(10)&A2)
と入れる。20は上段の文字数の最大値を見積もったものです。
CHAR(10)を入れて入るところがポイントです。
これで奇数行に、次行と結合した文字列が出来る。
編集-コピー-編集-形式を選択して貼りつけ-値を
自分自身のセルに行い、式を消す。
(VBA)
Sub Macro3()
d = Range("A65536").End(xlUp).Row
Application.DisplayAlerts = False
For i = 1 To d Step 2
Range(Cells(i, "B"), Cells(i + 1, "B")).Select
Selection.MergeCells = True
Next i
End Sub
これをツール-マクロ-VBEで出るVBE画面のメニューで
挿入-標準モジュールで出る画面に上記をコピペする。
F5キーを押して実行する。
(結果)B1とB3は
"東京都の知事は誰ですか         
石原知事です"

"弟は誰でした?             
裕次郎です。"
となりました。あと罫線を引いて完成。
    • good
    • 0
この回答へのお礼

す、すごい!!
こんなことが出来るんですね。
大変役に立ちました。
あとは、アレンジしていけばいいですね。
そこで質問なんですが、これは、1列に対して次の1列に表示していますが、複数列を全て行なおうとするとどの様にするのですか。
すばらしい回答を得ても、尚こんな質問する無礼をお許し下さい。
ちなみに、13列です。

お礼日時:2004/11/28 14:27

「セルを結合して中央揃え」では出来ないのですか?

    • good
    • 0

真中の文字列をみ落してました

この回答への補足

度々、ありがとうございます。
中列の上下文字列も、1行にして上下表示にしたいのです。

補足日時:2004/11/28 12:25
    • good
    • 0

空列にデータ行分文字を入れます



タイトル行を選択し「データ」-「フィルタ」-「オートフィルタ」

▼で空白以外のセル

データをコピーし新シートへ
元シートの内容を削除し戻す

A列に1列挿入し降板をふる
降板をコピーし降板の後ろに貼り付ける
全体を選択し、「データ」-「並び替え」でA列を選択する
    • good
    • 0

私にはできませんが



 1 1行の中に 2行入力できるか?
 2 関数などで一気にできるか 

      という意味でしょうか?
  

この回答への補足

早速ありがとうございます。
関数、並び替えなどで、一気に出来ますか?

補足日時:2004/11/28 12:23
    • good
    • 0

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