
先日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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordで均等割り付けをするとき...
-
Chr(13)とChr(10)の違いは?
-
Word 途中で勝手に改行してしま...
-
エクセル
-
履歴書の志望動機の所で、「ま...
-
パワーポイントのテキストボックス
-
棒グラフ 横軸の縦書き2列にし...
-
VBA フォームのテキストボック...
-
PDFの改行URLを有効にす...
-
いつも、LINEとかで変なところ...
-
エクセルでセル内改行の複数行...
-
PCに表示された内容(文字)をコ...
-
excelで勝手に改行されます
-
Wordで原稿用紙設定の時に、ペ...
-
バッチで指定ファイルの文末に...
-
秀丸で、文字列+改行をコピー...
-
TeraPadで改行が
-
URLが無効です、と表示される
-
英語圏の人々は英文に改行のス...
-
Excelセル内の改行を含む文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル
-
Word 途中で勝手に改行してしま...
-
Chr(13)とChr(10)の違いは?
-
wordで均等割り付けをするとき...
-
VBA フォームのテキストボック...
-
エクセルでセル内改行の複数行...
-
PDFの改行URLを有効にす...
-
Tera Term のマクロでの改行コ...
-
履歴書の志望動機の所で、「ま...
-
棒グラフ 横軸の縦書き2列にし...
-
【エクセル】セル最後にある無...
-
英語圏の人々は英文に改行のス...
-
パワーポイントのテキストボックス
-
バッチで指定ファイルの文末に...
-
Accessにインポートしようとす...
-
Excel セル内の最初と最後の改...
-
excelで勝手に改行されます
-
メールに添付する写真を並列さ...
-
WordにURLを載せると
-
イミディエイトウインドウの最...
おすすめ情報