[[20150105214059]] 『+が先頭につく文字列が勝手に=+に変換されて困っax(スフレ) ページの最後に飛ぶ

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

 

『+が先頭につく文字列が勝手に=+に変換されて困っています』(スフレ)

「+あいうえお」のように文章の前に+(半角)が記載されているcsvをエクセルで読み込むと勝手に「=+あいうえお」に変換されてしまってそのセルが「#NAME?」となってしまいます。
csvを開く度にそのセルを「セルの書式設定>文字列」にして=を削除しているのですが1万件以上を手直ししていて非常に大変です。

csvを開くときに勝手に=が付かないようにするにはどのようにすれば良いのでしょうか?
いちおうこのサイトで検索してみましたが=や+で検索すると膨大な量の関係ない質問が出てきてしまって探せませんでした。

どうぞよろしくお願い致します。

< 使用 Excel:Excel2007、使用 OS:Windows8 >


勝手に = が付かないようにする手だては詳しくないのでほかの方からの回答を待ってもらうとして
それが現れる可能性のある列をすべて選択して、文字列書式にして、そのまま(選択されたまま)
置き換えで、 =+ から + に変換すれば、何万件あっても一瞬では?
(通りすがり) 2015/01/05(月) 22:32

 もしかしてこれかな?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1441125824
(se_9) 2015/01/05(月) 22:45

通りすがりさん
ありがとうございます。
言われたとおりに置換できましたが保存して再びcsvを開くとまた=+になってしまいます…。

se_9さん
そちらの回答にある

オフィスボタン → エクセルのオプション → 詳細設定 → 下の方にある「式入力を変更する」のチェックをはずす

ですが確認したところすでにチェックが外れていました。
チェックが外れた状態でも勝手に=がついてしまいます。
(スフレ) 2015/01/06(火) 02:57


表示形式=標準  になってませんか?
文字列  に変更
(。) 2015/01/06(火) 07:59

 昔、表計算ソフトでほぼ標準だったlotus1-2-3では先頭に符号(+,-)を入力することで式を入力できるようになっていたため
 後発のExcelでも同じような入力をできるようになっている。

 CSVを読み込む際にそのような変換が行われないようにしたいならばまずExcelそのものを立ち上げ後、データ-外部データの取り込み-
 テキストファイルでそのCSVファイルを指定、テキストファイルウィザードで符号が先頭にある列のデータ形式を文字列としてはどうか?
(ねむねむ) 2015/01/06(火) 09:26

 ねむねむさんが書いている手順をVBAの自動記録で作ると楽かもしれません。
(se_9) 2015/01/06(火) 09:44

●言われたとおりに置換できましたが保存して再びcsvを開くとまた=+になってしまいます…。

これはエクセル側の話であって、CSVを開くと、【まっさらな標準書式のシート】に展開されるので
またもや、=+あいうえお になってしまうのは、仕様というか宿命かな。
ただし、1万件以上の作業をしなくてもいいということ。

●チェックが外れた状態でも勝手に=がついてしまいます。

これも、開いた時点では標準書式になっているので。

ワンタッチで処理をするなら、置き換えにいたる操作なり、外部データ取り込みでの操作なり
をマクロ記録でマクロ化して,それにショートカットキーをつけて、エクセルマクロブックとして保存しておいて
CSVを開くときには、まずマクロブックを開いた上で、CSVを開き、Ctrl/そのショートカットキー で一発。

少しは楽かな。

(通りすがり) 2015/01/06(火) 10:06


>。さん
csvをエクセルで開くと「+あいうえお」の表示形式は必ず標準になってしまいます。
これを文字列に変更し、置換した後にcsvで保存→再び開くと勝手に「=+あいうえお」となってしまうのです。

>ねむねむさん、se_9さん
ありがとうございます。
VBAで可能なのですね。

>通りすがりさん
ありがとうございます。

ちょっと方向性を変えて、「csvファイルを開いた直後にVBAを自動的に実行させる」ということは可能ですか?
通常のcsvをエクセルで開いたとき(開き方は様々ですが、外部データの取り込みではなくファイル>開くに準ずる開き方)にVBAを自動実行。

1. VBAで開いたファイルがcsvと判定
2. セルを全て文字列に変換、=+を+に置換

おそらく1.さえできれば2は簡単だと思うのですが・・・。
これができれば一度VBAを作ったら後は開くときに特に意識せずに使える気がします。

どうぞよろしくお願い致します。
(スフレ) 2015/01/06(火) 14:06


VBAが機能するためには、そのマクロブックが開かれていなければいけない。
開かれていない状態で、特定のCSVファイルが開かれた時点で自動的にそのマクロブックを開き
マクロを走らせてCSVファイルに対する処理を行うには、その監視のための結構ヘビーな構えが必要。

ここは、発想をかえて

・エクセルブック(マクロブック)を開く
・自動的にCSVファイル選択ダイアログを表示(もちろんマクロで)
・CSVファイルが選択されたらそれを開き(もちろんマクロで)
・CSVファイルに対する置き換え処理等を実行し(もちろんマクロで)
・エクセルブック自身を閉じる。(もちろんマクロで)
・画面にはCSVファイルだけが残る

こんな感じがいいんじゃないかな?

(通りすがり) 2015/01/06(火) 14:26


>通りすがりさん

ありがとうございます。
ここは自力でなんとかしようと思います。
(スフレ) 2015/01/06(火) 19:32


コメント返信:

[ 一覧(最新更新順) ]


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