![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
先日QNo.1801087で質問させていただいた件の続きです。
http://okwave.jp/kotaeru.php3?q=1801087
ユーザーフォームのテキストボックスに入力されたデータを複数のセルに入るように教えて頂きました。それは上手く行ったのですが、改行マークが(・)入ってしまって、その後の処理に問題が生じてしまうので、改行を削除するコードを記述しましたが、はじめの「0」が消えてしまって困ってます。
A1 942158621c9c05011020010a03020907・
A2 00054000・
Columns("A:A").Select
Selection.Replace what:="" & Chr(13) & "", replacement:=""
データは数字とアルファベットがランダムに並んでおり、全て文字列です。
A2のように数字のみの場合もあり、「0」から始まる時もあり、この「0」が一緒に削除されて「54000」となってしまいます。
上手く改行だけを削除し、「00054000」と文字列にするにはどうしたら良いのでしょうか。
Win2000、Office2003です。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こんばんは。
Wendy02です。>http://okwave.jp/kotaeru.php3?q=1801087
>それは上手く行ったのですが、改行マークが(・)入ってしまって
うまくいっていないと思います。
# そのどちらかで区切ったら、片方が残ってしまいます
と前回書きましたが・・・。 TextBox の改行コードは、CrLf つまり、Chr(10) と Chr(13)と二つあります。その片方で区切れば、片方が残ると、と書いたわけです。私の書いたものは、分っていらっしゃらなかったようです。
Private Sub CommandButton1_Click()
Dim buf() As String
If TextBox1.Text <> "" Then
buf = Split(TextBox1.Text, vbCrLf)
With Range("A1").Resize(UBound(buf) - LBound(buf) + 1)
.NumberFormatLocal = "@"
.Value = WorksheetFunction.Transpose(buf)
End With
End If
End Sub
すみません、前回Wendy02さんのコードが難しく他の方に教えていただいた方法でやっておりました。
今回こちらで試したところできました。今後勉強いたします。ありがとうございました。
No.3
- 回答日時:
こんにちは。
KenKen_SP です。回答としては、#1 の方のもので良いと思いますが、前回のご質問に
絡んでコメントすると、、
1. テキストボックスで手入力した改行コードは vbCrLf = Chr(13)
-->セル内改行のあるセルの値を代入した場合は vbLf
2. セル内改行の改行コードは vbLf = Chr(10)
です。改行コードで Split を使って配列にバラすときには、この
改行コードの違いに気をつけて下さい。
例えば、改行を含むテキストの変数が TEST で改行コードが vbLf
なら
aryTEST = Split(TEST, Chr(10)) ' Chr(10) = vbLf
で配列 aryTEST にバラすと、改行コードはこの時点で消えている
ハズです。
改行コードが残っているのであれば、Split に渡す改行コードが
違っていたか、他に原因がありそうです。
例えば、 vbLf と vbCrLf の混在とか。
つまり、前回のご質問では、 vbCrLf の混在する可能性を考慮し、
改行コードをそろえてから Split した方が良いかもしれません。
a = TextBox1.Text
a = Replace(a, Chr(13), Chr(10)) '<--- 追加
s = Split(a, Chr(10))
みたいな感じ。
はずしてたら、スルーして下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 列を指定して値を左から5文字にそろえる 1 2022/06/10 20:28
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordの何も書かれていない2ペー...
-
Chr(13)とChr(10)の違いは?
-
PDFの改行URLを有効にす...
-
【エクセル】セル最後にある無...
-
excelで勝手に改行されます
-
短歌が1行で収まらない場合、...
-
棒グラフ 横軸の縦書き2列にし...
-
Accessにインポートしようとす...
-
履歴書の志望動機の所で、「ま...
-
wordで均等割り付けをするとき...
-
パワーポイントのテキストボックス
-
エクセル文字入力でセル内での...
-
EXCELで"-"で勝手に自動改行し...
-
Access2003で特定列の改行コー...
-
HP内にある応募フォームで文章...
-
Tera Term のマクロでの改行コ...
-
EXCEL(VBA) 末尾の改行のみ削...
-
Excel VBAで改行を含めたセルの...
-
脚本(シナリオ)の書き方について
-
エクセルでセル内改行の複数行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの何も書かれていない2ペー...
-
Chr(13)とChr(10)の違いは?
-
wordで均等割り付けをするとき...
-
【エクセル】セル最後にある無...
-
Accessにインポートしようとす...
-
PDFの改行URLを有効にす...
-
excelで勝手に改行されます
-
棒グラフ 横軸の縦書き2列にし...
-
パワーポイントのテキストボックス
-
VBA フォームのテキストボック...
-
履歴書の志望動機の所で、「ま...
-
イミディエイトウインドウの最...
-
短歌が1行で収まらない場合、...
-
バッチで指定ファイルの文末に...
-
Tera Term のマクロでの改行コ...
-
Excel セル内の最初と最後の改...
-
Access2003で特定列の改行コー...
-
エクセルでセル内改行の複数行...
-
TeraPadで改行が
-
WordにURLを載せると
おすすめ情報