[[20150723120107]] 『改行コードの & Chr(10) & の使い方について教えax(あや) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『改行コードの & Chr(10) & の使い方について教えてください』(あや)

 教えて下さい

 「伝言メモ」シートに文字を入力して、
 登録ボタンを押すと「受付シート」シートに
 文字が貼り付けられるようになっています

 Private Sub Sub登録()

     Dim 行NO

     Sheets("受付シート").Select

     行NO = Sheets("受付シート").Range("J1")

     Sheets("受付シート").Range("A" & 行NO) = 行NO

 ★    Sheets("受付シート").Range("F" & 行NO) = _
         "=伝言メモ!C10" & Chr(10) & "&伝言メモ!C11&伝言メモ!C12&伝言メモ!C13&伝言メモ!C14&伝言メモ!C15&伝言メモ!C16&伝言メモ!C17&伝言メモ!C18"

     Sheets("受付シート").Rows(行NO).Select
     Selection.Copy
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

 End Sub

 ここで、★の部分なのですが
 「伝言メモ」シートのC10〜C18行をまとめてひとつのセルに表示させるようにしています

 ここで、行毎に改行をし見やすいようにしようとしています

 & Chr(10) &を使ってみたのですが、この方法だと式に改行が入り
 セルの文字の間には改行が入らない状態です

 どうしたらよいのでしょうか?

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 "=伝言メモ!C10&CHAR(10)&伝言メモ!C11&伝言メモ!C12&伝言メモ!C13&伝言メモ!C14&伝言メモ!C15&伝言メモ!C16&伝言メモ!C17&伝言メモ!C18"
 ではどうか?

 あと、あらかじめセルの書式設定で「折り返して全体を表示する」にチェックを入れておくかVBAでWrapTextをTrueにしてくれ。

(ねむねむ) 2015/07/23(木) 12:14


 ねむねむさんありがとうございます

 できました^^

 Chr(10) とChar(10)は似ているけど
 全く別物なのですね??

 違いがよくわかっていないのですが…

 ありがとうございました
(あや) 2015/07/23(木) 13:33

 Chr(10)はVBAでの関数で""の外にあるためセルに改行文字そのものを書き込む。

 CHAR(10)はワークシート関数で""の中にあるため関数をセルに書き込んでいるという違いがある。
(ねむねむ) 2015/07/23(木) 13:45

 解決後ですが、こんな転記方法も。

 Sheets("受付シート").Range("F" & 行NO) = Join(WorksheetFunction.Transpose(Sheets("伝言メモ").Range("C10:C18")), vbLf)

(β) 2015/07/23(木) 13:49


 ねむねむさん
 ご親切に説明までありがとうございますm(_ _)m
 勉強になります

 βさん
 joinを使うとスッキリ書けますね
 わたしはまだまだ地味に書いてるので精一杯ですが…
 教えてくれてありがとうございました
(あや) 2015/07/23(木) 13:53

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.