アプリ版:「スタンプのみでお礼する」機能のリリースについて

ある他のソフトから出すデータ(住所、電話番号など)でなぜか改行が入っているときがあります。スペースは置換で消しているのですが、この改行されているのをどうにか置換またはその他の方法でまとめて消してします方法はありますか?

A 回答 (6件)

はじめまして。

下記の方法はどうでしょう。

置換で「検索する文字列」の欄には、「Ctrl」キーを押しながら「J」キーを押します(何も表示されませんが大丈夫です)。「置換後の文字列」欄には何も入力しません。

これで置換(全て置換)すると改行が削除されると思います。
    • good
    • 0
この回答へのお礼

おおーっ!できました!本当にありがとうございます。またもしよろしければもう一つお聞きしたいのですが大文字の数字を小文字にするにはどのようにすれば良いでしょうか?もしご存知でしたら教えてください。宜しくお願いします。

お礼日時:2005/08/26 23:33

こんにちは。



CSVで、確かにそういう吐き出しのデータに出会ったことがあります。通常は、エディタ処理してしまいますが、Excelでしたら、エディタよりも少し複雑なことをしてくれます。改行コードを取り、数字の全角を半角にするプログラムです。(カタカナや英字、記号は半角にはしません)

Sub FigChangeNarrow()
 Dim Re As Object, c As Range, myStr As String
 Dim Match As Object, Matches As Object
 Set Re = CreateObject("VBScript.RegExp")
 With Re
  '正規表現パターン
  .Pattern = "([0-9]+)"
  .Global = True
  Application.ScreenUpdating = False
  For Each c In ActiveSheet.UsedRange
   If VarType(c) = vbString Then
   'オプション(セル内の改行を取る)
    c.Value = Replace(c.Value, Chr(10), "")
    c.WrapText = False
   '
    myStr = c.Value
    Set Matches = .Execute(myStr)
    If .Test(myStr) = True Then
    For Each Match In Matches
     myStr = Replace(myStr, _
         Match.Value, _
         StrConv(Match.Value, vbNarrow), _
         , _
         Len(Match.Value), _
         vbTextCompare)
    Next
    c.Value = myStr
    End If
   End If
  Next
  Application.ScreenUpdating = True
 End With
 Set Re = Nothing
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!早速試してみたらできました!本当にありがとうございました。

お礼日時:2005/08/27 16:42

#2です。

文字列操作の関数を一部追記しておきます。

=JIS(文字列)→「文字列」内の半角文字→全角
=ASC(文字列)→「文字列」内の全角文字→半角
=PROPER(文字列)→「文字列」内の英字の先頭文字のみを大文字に、2文字目以降を小文字に変換
=UPPER(文字列)→「文字列」内の小文字→大文字
=LOWER(文字列)→「文字列」内の大文字→小文字

カッコ内の文字列のところには、変換したい任意のセル等を入れてください。

参考になれば幸いです。
    • good
    • 0

#2です。

早速のお礼ありがとうございました。

追記の質問に対する回答ですが、「大文字の数字を小文字に」とのことですが、全角→半角ということであれば、#3の方の回答で宜しいと思います。ご存知かとは思いますが、関数式を使用したあとは、それを一旦コピーして、その状態で右クリックし、「形式を選択して張り付け」で「値」にチェックを入れて貼り付けると関数式はなくなり、値だけが貼り付けられるので、今後の編集には楽になるかと思います。

もし、置換を使うなら、置換の「オプション」で、「全角と半角を区別する」にチェックを入れて、「検索する文字列」の欄に全角の数字を入力、「置換後の文字列」欄には、半角の数字を入力して置換を実行すれば、変換は可能です。

しかしその場合、「0~9」の数字を一つずつ置換していくので(計10回)、確実ではありますが、少々時間がかかりますが、シート上の全ての数字を置換できるのでその点では便利かと思います。

「置換」の「オプション」を使用すると、いろんな条件で置換ができるので色々試してみてください。

回答が遅くなり申し訳ございませんでした。参考になれば幸いです。
    • good
    • 0

No.2さんの、回答に対するお礼の回答です。



=ASC(全角の数字を含んだ文字列)

でどうでしょうか。
    • good
    • 0

 CVSファイルは、WORDなどでも読み込むことが出来ますから、そこで改行コードを検索・置換えで削除してみてはどうでしょう。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!