- ベストアンサー
Excelのセル書式が勝手に「折り返し」になるのを防ぐには?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。お話の要件がやって見えてきました。 エクセルをデータベース的使う: セル自体に入る文字数は、32,767文字 ですから、使い方によっては、このすべての文字を読むこともできます。たとえば、簡単なマクロで、クリックしてテキストボックスに映しこむっていう方法もありますからね。 >あと、今気づいたのですが、コピー元のテキスト内に「改行」が含まれている場合に、強制折り返しになるような気がしてきました。 それはなりますね。お使いになるかは別として、マクロを考えてみました。私の常に使っている「個人用マクロ」とは、かなり違いますが、私の感覚としては、出来栄えは上々です。(Excel 2000以上) これは、一旦、Web上でコピーしたものをワークシート上に貼り付けて、広がってしまった文字群を、選択された範囲の一番上のひとつのセルにすべてまとめ、標準の書式に戻してしまうというものです。 これをツールボタンにつければ、かなり便利かなって思います。 'Personal.xls -個人用マクロに登録してお使いください '<標準モジュール> Sub JoinLines() Dim rng As Range Dim buf As Variant Dim myLine As String Dim c As Variant Set rng = Selection 'マウスで範囲選択 If Application.CountA(rng) = 0 Then _ MsgBox "セルには文字がありません。", 64: Exit Sub buf = rng.Value '配列に変換 If IsArray(buf) Then '配列チェック For Each c In buf myLine = myLine & c '配列をひとつにする Next c Else myLine = buf '配列でない場合 End If Replace myLine, vbCr, vbNull '復帰コード削除 'もしかしたらvbLFは、要らないかも Replace myLine, vbLf, vbNull '改行コード削除 With rng .Clear '書式を標準に戻す .Cells(1, 1).Value = myLine '出力 .EntireRow.AutoFit 'セル幅を標準に戻す .Cells(1, 1).Select End With End Sub
その他の回答 (5)
- Wendy02
- ベストアンサー率57% (3570/6232)
#2 の Wendy02 です。 >上2行の内容からすると、おそらく複数行にまたがってしまうかしら? 私の場合は、複数行に貼り付けています。別に気にはならないのですが。でも、貼り付けた後にまとめるマクロは可能ですが、ちょっとややこしいかもしれませんね。 なぜかというと、1セルに、1,024文字は入力できても、文字数が256~1024文字の間は、###の表示になってしまいますから。
補足
ありがとうございます。 書いていなかったのですが、エクセルをデータベース的に使っているため、1行内に収まらないと困ってしまうのです。(^^;) 備考的なセルなので、セルがアクティブになったときだけ読めればじゅうぶん、というニーズなのですが。 (あと、今気づいたのですが、コピー元のテキスト内に「改行」が含まれている場合に、強制折り返しになるような気がしてきました。) 重ね重ね、お答えをありがとうございました。
- e46_2005
- ベストアンサー率32% (15/46)
「折り返し」にしたくないということであれば、webからの貼付を例にさせていただきますと、 1.web上のテキストをコピーします。 2.エクセルの貼り付けたいセル上で右クリックしてショートカットメニューが表示されたら、「形式を選択して貼り付け」をクリックします。 3.貼り付ける形式にHTML、Unicodeテキスト、テキストのいづれかを選ぶダイアログが表示されますのでここでHTML以外を選んでください。 そうすれば、折り返しにならずに貼り付けることが出来ます。 上記操作はExcel2000にて確認済みです。 他のソフトからの貼付で上手くいくかどうかは確認できませんので同様の方法で一度お試しください。
補足
ご回答ありがとうございます。 たしかに、この方法だと「折り返し」にはならないのですが、 元テキストの改行ごとに、複数の行にまたがってコピーされてしまうようです。(F2キーを使うのは、それを避けたいためという理由もあったりしますので…) ありがとうございました。
- lasichi
- ベストアンサー率31% (122/389)
No1です。 webからですか。ではテキスト以外の何らかの情報が入っている可能性がありますね。 コピー先のセルで右クリックしてテキストでコピーみたいな選択肢はでますか? それで問題なくいけると思いますが。
補足
ご回答ありがとうございます。 No4の方にも書きましたとおり、1行内に収めたいので、何か方法がありましたら、引き続きよろしくお願いいたします。 たびたび、ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 正直なところ、F2 で編集モードにして、貼り付けると、こういう現象があるということを知りませんでした。私は、F2で編集モードにせずに、そのまま、貼り付けます。 Web データ以外は、折り返しになりません。Webデータは、折り返しになってしまいますので、私は、個人用マクロに、以下のようなマクロを入れて、ツール・ボタンに登録してあります。 Sub WrapTxtOff() With Rng .WrapText = False .AddIndent = False .ShrinkToFit = False .MergeCells = False .Interior.ColorIndex = xlNone End With End Sub なぜか、結合セルになるときもあるので、MergeCellsもFalse になるようにしてあります。ご質問の趣旨とは違うかと思いますが、参考まで。
補足
ご回答ありがとうございます。 結合セルになることもあるのは知りませんでした。マクロの登録は、少しまとまった時間が取れてから試してみたいと思います(上2行の内容からすると、おそらく複数行にまたがってしまうかしら?) 詳しいご説明を、ありがとうございました。引き続きアドバイスなどありましたら、よろしくお願いいたします。
- lasichi
- ベストアンサー率31% (122/389)
コピー元のデータが折り返して表示しているセルのデータなのでは? またはコピーしようとしているセルが"折り返して表示する"になっていないですか? コピーする時に"右クリック"→"形式を選択して貼り付け"→"値" でコピーしたら付加情報はコピーされず値のみコピーされます。 また関係ないですが、セルの書式編集のショートカット(Ctrl + 1)はなかなか便利ですよ。
補足
お答え、ありがとうございます。 補足させていただきますと、 コピー元の文字列はwebのや他のソフト(Excelではないところ)から持ってきたもので、コピー先であるExcel側は「折り返し」ではないセルです。 まさしく「値」だけをコピーしたいがために、 わざわざF2キーを押して、セル内編集モードにしているのですが(そうしないと、フォントサイズや色までもコピー元から持ってきてしまいますので)、 どういうわけか「折り返し」だけは、勝手に変更されてしまうのです。
関連するQ&A
- セルの折り返しについて
WindowsXPでMicrosoft Office Excel2003を使用しています。セルの書式設定で「折り返し」を選択して入力すると、自動的に行が文字数にあわせて広くなる場合とならない場合があります。いつも自動的に広くなるようにするにはどうしたら良いか教えて下さい。
- ベストアンサー
- その他(インターネット・Webサービス)
- EXCELのセル内の文字の折り返しがうまくいかない
EXCEL2003でセル内で文字の折り返しを指定しているなか、 セルの書式設定で文字の折り返しを選んだのに文字が折り返して表示されません。 折り返しにはなっていますが、行の幅が自動で広がりません。 行の高さの指定も特に指定してないとこのことです(人に質問 されています)。 可能な行もあります。 なので何かが行に対して設定されているのだとは思うのですが 原因が思い浮かばないのです。 ただ、列幅をダブルクリックして自動調整を一度行っておけば、 そのあとはその行も折り返しがされ、行高さも自動調整します。 何かが行に設定されているようですが、 何が考えられるでしょうか? よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Excel の「セルの書式設定」に関して
Excel 2010を使用しています。セルに「5-1」と入力すると「5月1日」と表示されてしまいます。それで入力前に「セルの書式設定」を「文字列」に指定してから入力すると「5-1」と表示してくれます。ところが Web ページなどからそのままコピー&ペーストすると入力前に「セルの書式設定」を「文字列」に指定したにもかかわらず,「5月1日」となり,勝手に「セルの書式設定」が「ユーザー定義」に切り替わってしまいます。Web ページなどからコピー&ペーストしたデータを「文字列」のまま入力させる方法はありませんでしょうか?
- ベストアンサー
- Excel(エクセル)
- EXCELのセルの書式設定-表示形式について
Excelで、表示形式が自動で戻る方法を教えてください。 例えば、 セル「A1」の表示形式をセルの書式設定にて「文字列」にします。 そして、セル「A1」に値を入れます。(例えば012等) そうすれば、この値は文字列として、「012」と表示されます。 その後、セル「A1」の表示形式を「標準」に戻した時に、 自動的に標準に戻りゼロが消えて、「12」と表示されると思ってたんですが、 「012」のままでした。 ただ、ファンクションキーの「F2」や、セル「A1」をダブルクリックして、 一度、セル「A1」を編集状態にして「Enterキー」を押したら、標準に戻ります。 表示形式を「標準」に変えた時点で「標準」に戻る方法をどなたかご教授願います。 ちなみに使用しているのは「Excel2000」です。 以上宜しくお願いいたします。
- ベストアンサー
- その他(業務ソフトウェア)
- EXCEL セルにコピペした時に書式が勝手に変更されるのを防ぎたい!
赤い字で書かれたネットの文章をセルにコピペすると、コピペしたセルの文字まで赤くなってしまいます。 文字のサイズやハイパーリンクなども引き継がれてしまいます。 勝手に改行されて行の高さが変更されたりもします。 F2を押してセルを編集状態にしてからペーストすれば文字列だけがペーストされるのですが、大量に作業する時にはその操作すら煩雑になってしまいます。 文字列だけをペーストする、いい方法は無いでしょうか?
- ベストアンサー
- その他MS Office製品
- エクセルの一セル折り返しの印字表示について
エクセルの一セル折り返しの印字表示についてお教えください。 エクセルの一セルに折り返しで大量に文字を打ち込んでいき、さて印刷してみようとすると、セルの下のほうに、数行かならず隠れてしまうんです。せっかく折り返しが自動で、画面上は表示されているのに、プリントアウトするときに、文字が隠れて、微調整が必要だとするのは非常に残念。 画面同様に、印刷においても、折り返しの文字が自動で印字されるような設定は、エクセルには不可能なのでしょうか。 どなたか、お詳しい方、改善の方法がありましたら、お教えください。
- ベストアンサー
- オフィス系ソフト
- エクセル2003の条件付き書式について
以前の質問(http://okwave.jp/qa/q7981641.html)を参考に セルB1に入力した文字列と セルC1からC10、D1からD10までの中で B1の文字列と同じ文字列があった場合に取り消し線が自動でつくようにしたのですが、 今度はセルB1の他にB2とA1にも文字列を入力したら 同じようにセルC1からC10、D1からD10までの中で同じ文字列があった場合 取り消し線が自動でつくようにしたテンプレートを作りたかったのですが 例えば、セルB1と同じ場合に取り消し線が付くように設定した状態で A1と同じ場合にも取り消し線が付くように条件付き書式で設定すると 以前設定したセルB1の設定が消えA1のに変わってしまい 複数のセルに設定できず悩んでいます。 また、コピーして下方の行に貼り付けを行うとコピー先で入力した文字列で取り消し線が付かず コピー元のセルB1の文字列を変えないとコピー先に取り消し線付かず この設定にも悩んでいます。 どのように設定したらいいでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excel2000でセルの書式設定を変更させたくない
Excel2000でセルの書式設定を変更させたくない Excel2000を使用しています。 Excel2002?以降では、書式設定を保護できるらしいですが、2000ではそのような機能がありません。でも、データを貼り付けた際に書式設定を変更させたくないのですが、何か方法がありますでしょうか? 具体的には、シート内のある範囲内(B3-F43)までを書式設定で「縮小して全体を表示」に設定してあり、「折り返して全体を表示する」のチェックを外してセル1行で表示するよう設定しています。 ここに改行付きの文字列データをコピーして貼り付けると、「折り返して全体を表示する」に勝手にチェックが入ってセル1行では表示しきれなくなり、文字全体が読めなくなるのですが、この勝手にチェックされてしまう「折り返して全体を表示する」のチェックをマクロを使って、自動で外す方法とかありますでしょうか? とりあえず現状は貼り付け前に一度、テキストエディタで改行を削除する編集をしてからデータを貼り付けるようにしてるのですが、面倒なのでできれば改行付きデータを直接Excelに貼り付けても「折り返して全体を表示する」にチェックが入らないようにしたいのです。 マクロの知識はまったくないので、どなたかお知恵を貸していただけないでしょうか? 現在、他の件でマクロを教えていただいて、Thisworkbookという所に、Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)とかいうマクロを記述してあります。 Excelデータを上書きセーブする際にこのマクロが走るようなんですが、これに追記する形で、B3からF43までのセルの書式設定の「折り返して全体を表示する」のチェックを強制的に外すことができると助かるのですが。 同じシート内に、「折り返して全体を表示する」を使用しているセルもあるので、シート全体の書式設定を変えてしまうのではなく、あくまでB3からF43までの範囲のセルで設定したいのですが、こういうことはマクロで可能なのでしょうか?
- ベストアンサー
- オフィス系ソフト
- EXCEL2007でセルの書式設定ができません。
いつも対象のセルを選んでから、右クリックでセルの書式設定を選び、罫線やフォントの種類を変更しているのですが、今作っているブックでは右クリックをしてもセルの書式設定が選べません。 このブックは、仕事で使っているもので、様式が決まっており、ある人が作ったシートに私が文字を入力していくようになっているものです。 きっとこのブックを作った人が何か指定をして私が勝手に罫線なんかを変更できないようにしているのだと思うのですが、他のワークシートからデーターをコピーして貼り付けて使おうと思っているので、変更したいんです。 コピーして使おうと思っているワークシートは罫線とかフォントが違うので、変更しないといけないんです。 初歩の質問かもしれませんが、どうしたらいいか教えてください。
- ベストアンサー
- その他MS Office製品
- Excel セルの書式設定について
いつもお世話になります。 WinXPpro Office2003です。 私の前任者が作ったExcelに私がずいぶん色々と細工しました。(ここでずいぶん助けて頂きました) いままで全て手打ち&コピーペーストでやっていたものを関数を駆使して簡単にしました。その後、他の方に引き継ぐことになり、その際に色々と要望が出たので色々と作り直しをしています。その際にどうやら前任者が設定したと思われるセルの書式設定が生きていたらしく(空欄のところなど)別のシートからひっぱってるデータが文字列だの数式だの日付だのに変わってしまってます。(/ー ̄;)シクシク =”番号”&A2のように引っ張ってきてるのでいちいち関数を入れたりセルの書式設定で変えていますが引っ張ってくるシートはいっしょで、文字列も入れているので置換えみたいにいっぺんに変えられるような都合のいいことはできるかな?と思いまして質問させていただきました。 いまのところは=”番号”&A2で =”番号”&A2 =番号1(←これまともです) となってしまいます。 なにかいい方法があればぜひ教えて下さい。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
補足
詳しいご説明を、ありがとうございます。 なにかの設定をいじれば回避できるかも?と思って質問を立ててみましたが、そう甘くはないようですね。(^^;) 以前教えてくださったことも含め、いずれマクロにも挑戦してみたいと思います。 ありがとうございました!