専門家に聞いた!繰り返す痔の原因は!? >>

こんにちは。
Excelについての質問です。
お分かりになる方がらっしゃいましたら教えていただけると幸いです。

Excelのシートに、何行かにわたる長い文字列をコピーしたものを
1つのセルに貼り付けて、全て表示させたいのです。
その時、シートの幅や高さは変えずに、
セル内で「Alt+Enter」で改行されてその高さに収まらない文字列は、
そのまま直下の空いているセルに表示させたいのですが、これは可能でしょうか。

「折り返して全体を表示する」はオフの状態です。
この設定で1行だけの文字列だと幅以上の文字列は自然に横の空白のセルに流れてくれますよね?
これを、「Alt+Enter」の複数行ver.でやりたいのですが、
このようなことは可能なのでしょうか。

質問が分かりにくくて申し訳ありません。
他にも、いい方法をご存知でしたらアドバイスをお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

やりたいことは


1
A abcdefghijklmnopqrstuvwxyz
A1をコピーして
1
B abcdefghi
C jklmnopqr
D stuvwxyz
というふうにすると言うことでしょうか?
(それぞれのセルの値がabcdefghi、jklmnopqr、stuvwxyzになる)
これだったら次のような式になります。
=IF(LEN(Sheet1!$A$1)-(ROW(C1)-ROW($C$1))*9,MID(Sheet1!$A$1,(ROW(C1)-ROW($C$1))*9+1,9),"")
Sheet1!$A$1:コピーしたい対象のセル
C1:コピー先のセル
$C$1:コピー先の先頭のセル
9:1行あたりの文字数

もう一つの方法はマクロを組むことだと思うのですがクリップボードの
内容の取得の仕方が分からないのでできませんでした。
別途質問していみると良いでしょう。
    • good
    • 0
この回答へのお礼

アドバイスをありがとうございます。
そうです、そうしたくて質問いたしました。
設定で何とかなるかと思いましたが、
甘かったですね(^^;

詳しく数式まで書いていただきましてありがとうございます!
早速試してみますね!

お礼日時:2006/11/20 18:56

あいているしたのセルとセル結合し、これでダメならポイントを小さくする

    • good
    • 0
この回答へのお礼

そうですね、結合してしまったほうが早いかもしれないですね。
なにはともあれシートの形を崩したくなかったもので(^^;
一行を他のセルに透かすくらい簡単にできればよかったんですけどねw


皆様、たくさんのアドバイスありがとうございました。
皆さんのアドバイスを元に、いろいろとやってみますね!
あいがとうございました。

お礼日時:2006/11/20 19:01

セル内改行された単位で行を分けるという方法でよいでしょうか?


以下のマクロは選択されているセル内にセル内改行があればその後ろの文字列を下のセルに書き込むマクロです。(セル内で5行なら、シート上でも5行になります)。安全のため、分解したいセルの内容を別セルにコピーしてから試してください(実行結果は元に戻せませんので)

Sub Macro()
Dim ptr As Long, psw As Boolean
 Do While psw = False
  With Selection.Cells(1, 1)
   ptr = Application.Find(Chr(10), .Value & Chr(10))
   If ptr < Len(.Value) Then
    .Offset(1, 0).Value = Right(.Value, Len(.Value) - ptr)
    .Value = Left(.Value, ptr - 1)
    .WrapText = False
    .Offset(1, 0).Select
    Selection.WrapText = False
   Else
    psw = True
   End If
  End With
 Loop
End Sub

マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はALT+F8を押して、マクロ名を選択します。
    • good
    • 0
この回答へのお礼

VBAですね。
VBAはまだ勉強中の身なので(^^;
もう少しできるようになったらチャレンジしてみますね!
詳しく記述していただき、ありがとうございました!

お礼日時:2006/11/20 18:58

> Excelのシートに、何行かにわたる長い文字列をコピーしたものを


1つのセルに貼り付けて、全て表示させたいのです。
> その時、シートの幅や高さは変えずに、

の制約で実現可能なのは、
1) Excelにテキストボックスを挿入して、テキストボックスに貼り付けする。
2) 「形式を選択して貼り付け」から「Microsoft Office Word文書オブジェクト」を貼り付けする。
3) 一度Excelに貼り付けた後、列幅を指定して「文字の割付け」を行う。

の3通りだと思います。
1)はフォントが変更され、枠線を「線なし」に修整する必要があります。
2)は見た目はWordそのものですが図に変換されているのと、枠線を「線なし」に修整する必要があります。
3)はご質問に近い感じになりますが、行が切れてしまいます。

「文字の割付とは」
http://www.relief.jp/itnote/archives/001151.php

他に「文字の割付」で検索して頂くと多数ヒットすると思います。
    • good
    • 0
この回答へのお礼

アドバイスをありがとうございます。
なるほど、テキストボックスですか。
ほかにもWordオブジェクトにする方法などもあるのですね。
いろいろ試してみることにします。
たくさんの方法を教えていただきありがとうございました!

お礼日時:2006/11/20 18:54

出来ないと思いますが、、、


下のセルに分割する事は出来ます。
該当セル(例 A1)を選択してから「編集」-「フィル」-「文字の割付」

これで A1 の幅に収まらない文字列はA2以降に分割されます。
    • good
    • 0
この回答へのお礼

アドバイスをありがとうございます。
やはりできないのですね・・・。
イメージで次の行にも透かせるんじゃなきかと思ってしまいました(^^;

やはり文字の割付が一番良さそうですね。
ありがとうございました!

お礼日時:2006/11/20 18:51

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qexcelで1つのセルだけを分割する方法

excelで、行全体または列全体でなく、1つのセルだけを縦または横に分割する方法はありますか?

ご存知の方、是非お教えください。

Aベストアンサー

エクセルでセルは最小単位です、分割は出来ません。
むしろ逆に考えて、不要な行はセルを結合して1列的に見せてはどうでしょう。
見た目でやるなら(多分したいことを想像して)
桁合わせだけの問題なんですが。
(1)文字列のケースとする。数値や半角が混じると
うまくいかないかも。
(2)例えばD1セルに半角スペース10個を入れる。
(3)A列はフォントをPのつくものは避ける。
(4)例えばB列、c列に文字列データが入っているとする。
(5)A1セルに
=MIDB($D$1,1,10-LENB(B1))&B1&MIDB($D$1,1,10-LENB(C1))&C1
といれて下行に複写する。LENBをあえて使う。
(データ例)
    (A列)       (B列)  (C列)
大阪市 西園寺大阪市西園寺
長岡京市 熊山長岡京市熊山
津市 佐藤津市佐藤
(6)真中に縦に図形の直線を貼りつける。

Qエクセルのデータ、1行を複数行に展開し直したいです。

うまく説明できませんが、筆まめの住所録データをCSV形式にてエクセルに落とし込みました。

その状態では、宛名~備考までの項目が約20、A2~S2に1行に
展開されています。

住所録を社内で回覧できる状態にしたいのですが、今のままでは
項目が多すぎるため、1件について3行程度に項目を折りたたんで
展開したいです。

 宛名|敬称|担当者|郵便番号|住所|番地|ビル名|備考
 
 ↓
 
 宛名 | 敬称 |担当者
 郵便番号 | 住所 | 番地 | ビル名
 備考

 という風に。

別シートに「=sheet1!A2」「=sheet1!B2」というように配置し、
以下ドラックすると、データが2件飛ばしになってしまいます。

簡単に展開しなおせる方法を教えて下さい!!

ずっと調べているのですが、一向に分からずに煮詰まってしまいました。

Aベストアンサー

住所録データ1件がA列~S列まであるんですよね。
質問には何も書いていませんが、本当は何件もデータがあって、別シートに1件につき3行で表示したい。と、言うことであっていますか?
例では8項目ですが、本来は19項目あると……。
質問を見ると住所録データが1件しかないような記述でしたので、思い違いでしたらごめんなさい。

とりあえず、7項目、7項目、5項目と別けると仮定します。
別シートのA2に以下を入れ、G4までコピーし、F4とG4の式を削除します。
=INDEX(Sheet1!$A:$S,INT((ROW()-2)/3)+2,COLUMN()+MOD(ROW()-2,3)*7)

次にA2からG4までを選択して下にずらずらっとコピーします。
表示する項目を変えるときは COLUMN()+MOD(ROW()-2,3)*7 が項目になりますので、1~19までの数字を入れてください。

QExcelのシートにある1行のデータを複数行に分割したい

例えば次のようなことがしたいのですが、VBA以外ではできないでしょうか?
何か方法があったら教えてください。

・A:コード B:氏名 C:生年月日 D:住所 E:TEL というように横に並んだデータがあるとします。
・一番上の行は標題部分になっており、次の行からデータが縦に100行分程度あります。
・この1行分のデータを2行(すべてに標題をつけたいので実質は4行)に返還したいのです。
(1行目:標題)A:コード B:氏名 C:生年月日
(2行目) 標題に対応したデータ
(3行目:標題)D:住所 E:TEL 
(4行目) 標題に対応したデータ

これで意味がわかるでしょうか?
よろしくお願いします。

Aベストアンサー

データが入っているのがSheet1、処理後のシートがSheet2ということで話を進めます。

Sheet2のA2に以下の式を入れます。

#=Sheet1!A2(#も入力してください)

同様に、Sheet2のB2,C2,A4,B4にもそれぞれ
#=Sheet1!B2
#=Sheet1!C2
#=Sheet1!D2
#=Sheet1!E2
と入力します。

入力が終わったら、入力したセル(3列×4行)を選択し、右下の四角(カーソルが「+」になる部分)を下までドラッグして(400行くらい?)コピーします。

その後、入力されているセルの範囲を選択して、「編集」>「置換」で
「検索する文字列」を「#」、置換後の文字列を空欄で「すべて置換」すれば、出来ると思います。

Q改ページの2ページ目の作り方

エクセルで、改ページプレビューを押すと、
青い線が出てきて印刷範囲を指定できますよね?
あれでA4一枚で印刷できる大きさなんですけど
2枚に分けたい時はどうすればいいのでしょうか?
増やそうとしても一枚目の範囲が大きくなるだけ
なんです。
質問の仕方がうまくなくて申し訳ないです。

Aベストアンサー

上下に分けたい場合、分割したい行の行番号を右クリックして改ページ挿入。
左右に分けたい場合、分割したい列の列番号を右クリックして改ページ挿入。

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

QExcelで2行を1行にまとめるには?

Excelで2行を1行にまとめる方法を教えてください。下の6行を2行にするには、どうしたらいいのでしょうか?
よろしくおねがいします。

Excel2003です。


A little knowledge is a dangerous thing.
(生兵法はけがのもと)
空白行
After a storm comes a calm.
(雨降って地固まる)
空白行


第1行:A little knowledge is a dangerous thing.(生兵法はけがのもと)
第2行:After a storm comes a calm.(雨降って地固まる)

Aベストアンサー

(データ)A1:A100
(1)A little knowledge is a dangerous thing.
(2)(生兵法はけがのもと)
(3)空白行
(4)After a storm comes a calm.
(5)(雨降って地固まる)
(6)空白行
(7)・・・・(略)
(8)・・・・
(9)・・・・
(関数式)E1に(B1でも良いが)
=INDEX($A$1:$A$100,(ROW()-1)*3+1,0)&INDEX($A$1:$A$100,(ROW()-1)*3+2,0)
E2以下最下行の1/3行まで複写する。
(結果)
(1)A little knowledge is a dangerous thing.(生兵法はけがのもと)
(2)After a storm comes a calm.(雨降って地固まる)
(3)以下略

QExcel:複数のセルの内容を、ひとつのセルにすべて移したい。

たとえばA.B.Cのセルがあって、この内容をDのセルに
すべて移すにはどうしたらいいんでしょうか?

A.B.Cの内容をコピー貼り付けだと、
どうしてもDひとつだけでなく、その隣のセルに
内容をコピーしてしまいます。

Aベストアンサー

コピーしたいセルを選択してCtl+C

全部を貼り付けたいセルをダブルクリック

Ctl+Vではなく、オフィスクリップボードから貼り付け

Qエクセルの一つのセルに複数行の文字を入れる方法

エクセルの一つのセルに複数行の文字を入れる方法を教えてください。

メモ帳などで入力したこのような文章をエクセルに挿入したいのです。

1.あいうえお
  あいうえお
  あいうえお

そのままコピーしてエクセルに貼り付けたら
一つのセルには入らず3行分にまたがってはいりました。
セルの結合をするのかしら?と思って結合したら1行目の「1.あいうえお」が真ん中に残って
2,3行目の文字が消えてしまいました。

このような文章をこのままの状態で一つの列の一つの行(A列1行目など)に入れるには
どのようにすればできるのでしょうか?

Aベストアンサー

セルをダブルクリックしてセルの中にカーソルがある状態でコピーを行えば問題ありません。

また、セル内で改行を行いたいのであれば「alt+ENTER」で行うことが出来ます。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QEXCELで、特定の文字を含むセルを抽出したいのですが。

仕入れ帳のようなシートで、B列に商品名があります。
商品名に特定の文字(数字又は文字)を含む時、空白列のC列に、その文字を抽出する方法をご教示ください。B列の商品名は変化させずにです。
意図は、当シート内で並べ替えをする時に、C列をキーとするためです。
商品名が、各種文字と数字で構成されており、そのままでは、希望する並べ替えができないのです。
宜しくお願い致します。

Aベストアンサー

「IF」関数、「ISERR」関数、「FIND」関数を組合せれば可能ですね。
たとえば、文字「a」を検索するなら、B2セルを対象として、C2セルに、

=IF(ISERR(FIND("a",B2)),"","aが入っています")

と入れます。

注意事項として、アルファベットを検索する場合、大文字と小文字を区別します。
つまり、上の例ではB2セルに「a」があれば、「aが入っています」、と表示されますが、「A」では表示されません。
(「FIND」を「SEARCH」にすれば「a」・「A」どちらでも表示される)


このカテゴリの人気Q&Aランキング