- ベストアンサー
エクセルVBAのChr(10)の挿入と削除
- エクセルVBAでのChr(10)の挿入と削除について教えてください。結合されたセル内に他のプログラムから送られてくる値を挿入する必要がありますが、値の文字数や行数は都度変わります。ボタンを押すたびにChr(10)の改行を挿入したり削除したりしたいのですが、どのようにすればよいでしょうか?
- エクセルVBAでのChr(10)の挿入と削除方法を教えてください。結合されたセル内に他のプログラムから送られてくる値を挿入する必要があり、値の文字数や行数は変わります。ボタンを押すたびにChr(10)の改行を挿入したり削除したりする機能を作りたいです。
- エクセルVBAでのChr(10)の挿入と削除について質問です。結合されたセル内に他のプログラムから送られてくる値を挿入する必要がありますが、値の文字数や行数は都度変わります。Chr(10)の改行を挿入したり削除したりするためのコマンドボタンを作りたいのですが、どのようなVBAコードを書けば良いでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sub CommandButton1_click() activecell.value = activecell.value & vbLf End Sub Sub CommandButton2_click() dim buf as string buf = activecell.value If right(buf, 1) = vbLf then activecell.value = left(buf, len(buf) - 1) end if End Sub 単純に足したり削ったりするだけのようですが。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17070)
質問者の言っていることおよび必要性(コマンドボタンを2つも設けるのかなど)が良くわからない。 ーー したいことは、いつもそのセルは10行分(空白行も含めて)とかの一定行数分にしたいのではないのか。 もしそうなら、変数に原データがセットされた段階で、その変数の値のChr(10)の数を数え、10-(その数)だけ「文字列の後尾にChar(10)を加えれば仕舞いではないのか。 >Chr(10)の数を数えーー一案としてChr(10)を空白で置き換え、文字列の長さのバイト数減少がChr(10)の存在した数で割り出す。 参考 Replace関数 http://officetanaka.net/excel/vba/function/replace.htm 別にVBAにはReplaceメソッドもある。 == 誤解しておればこの回答は無視してください。
- toshihiko_104
- ベストアンサー率61% (8/13)
とりあえず行単位の削除、追加を・・・ LineAddとLineDel関数を書いてみましたのでボタンから呼び出してください ※データが入っている行も削除できますのでNGな場合は IF文などでチェックしてください Sub LineAdd() Dim str() As String str = Split(Range("A1").Text, Chr(10)) ReDim Preserve str(UBound(str) + 1) Range("A1").Value = Join(str, Chr(10)) End Sub Sub LineDel() Dim str() As String str = Split(Range("A1").Text, Chr(10)) If UBound(str) = 0 Then '1行しかない場合、セルをクリア Range("A1").Value = "" Else ReDim Preserve str(UBound(str) - 1) Range("A1").Value = Join(str, Chr(10)) End If End Sub
お礼
補足とお礼を間違えました
補足
ありがとうございます。 こちらの方法でもやって見ます!
お礼
ありがとうございます やりたいことはこれでした!