• ベストアンサー

エクセルが勝手に文字を日付に変えてします

htmlのテーブルをコピーしてエクセルに貼り付けたいのですが、その際1-5や9-7といったデータをエクセルが勝手に1月5日などの日付に変えてしまいます。 そうしたくないので、事前に全てのセルを選択して文字列にしておいているのに、貼り付けをするとやはり日付になってしまいます。 この自動で日付に変える機能をなくすことはできないんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

事実間違いないですか。 A.メモ帳で2-3と入力  B.エクセルで書式を文字列にあらかじめ設定。 C.Aをコピー D.Bに張り付け 2-3のままですが。 ーーー エクセルの2-3、2/3タイプの入力に対する日付への変換機能は早期的で強力です。誰にも止めようが無いと思います。 ーー 他には HTMLのテキストをプログラム(VBA)で読んで、自分でセルに値をセットするぐらいでしょうか。 お遊び程度ですが、やってみました。 例 粗末な例ですが <html> <body> <table> <tr> <td>山田</td> <td>2-12</td><td>34</td> </tr> <tr> <td>田中</td> <td>5-12</td><td>324</td> </tr> <tr> <td>菊田</td> <td>5-22</td><td>034</td> </tr> </table> </body> </hTML> ーー 標準モジュール Sub test03() Open "test02.html" For Input As #1 k = 1 For i = 1 To 20 Line Input #1, s If Left(s, 4) = "<td>" Then 'MsgBox s s = Replace(s, "</td>", "") MsgBox s d = Split(s, "<td>") For j = 0 To UBound(d) Cells(k, j + 1) = d(j) Next j k = k + 1 End If Next i Close #1 End Sub ーー C列(2-12などの入る列)は前もって文字列にしておく。 プログラムでも出来ますが。 実行結果(日付になってません) ー 山田 2-12 34 ー 田中 5-12 324 ー 菊田 5-22 34 A列空白は時間なく手抜きです。すみません。

Nodame_san
質問者

お礼

ありがとうございます!

その他の回答 (1)

  • dondonji
  • ベストアンサー率45% (136/299)
回答No.1

「セルの書式設定」は「表示形式」は「文字列」ですね。 ユーザー設定は如何でしょう。 「セルの書式設定」で新しいウィンドウの「表示形式」を選択し、 「分類」その中から「ユーザ定義」を選択。 指定したい項目をチェック変更。

Nodame_san
質問者

お礼

ありがとうございます!

関連するQ&A

  • エクセル表示形式を日付から文字列にする方法

    こんにちわ。 あるホームページ上から、CSV形式でデータ自動でダウンロードしています。 それをエクセル形式で保存し、ソフトに取り込みます。 ホームページからダウンロードしたデータの日付部分の表示形式が、 自動的に「日付」になっていて ソフトにいれたときに日付部分が「40340」等の訳のわからない数字になってしまします。 ソフトに取り込む前に、形式が「文字列」だと、うまくいくので 文字列に変更したいのです。 何千件とデータがありますので、 手書きで打ち直すのには時間がかかりすぎてしまいます・・・。 取り込み前に コピー、貼り付けや色々試してみましたが、 取り込んだときと同じように「40340」となってしまいます。 なにか良い方法がないでしょうか。。。

  • Excelの日付の入力について

    A列のセルにずらっと 2011/11/29といった感じで日付の入力をしています。 セルの書式設定で 2011年11月29日 と表示されるようにしています。 これらのデータを表示されている通り B列に貼り付けをすることは可能でしょうか? 貼り付けをしてB列のセルの書式設定で 表示方法の選択をすればいいのすが それでは見せ方を変えているだけなので 出来れば 2011/11/29を 2011年11月29日という文字列のデータにして 貼り付けという作業がしたいです。 詳しい方、お願いします。

  • エクセル 文字列になっている日付を日付データにしたい

    エクセル2002を使用しています。 他のシステムからCSV形式で出力されたデータの日付(生年月日)が、ほとんどは文字列(テキスト型)で、一部日付データになっています。 表示は、昭和50年1月12日という具合になっています。 これを、文字列も全て日付データ(そのセルを選択した場合、セルでは元号表示でも、数式バーでは1985/1/12というように西暦で表示)になるようにはできるでしょうか。 隣に作業列を設けても良いと思っています。 データは、約300件(300人)分あります。 たまに日付データとして登録されている者の理由は不明ですが、元のシステムの登録時に西暦で生年月日登録したのかもしれません。 よろしくお願いします。

  • エクセルの日付への自動変換を止めさすには

    "1-2-3","2-24" という文字列の入ったCSVファイルを エクセルで開くと 2001/2/3 2月24日 というように 自動で日付と判断されてしまい、そのまま上書きすると 日付データとして確定してしまいます。 エクセルで開いても、該当のセルの値が 1-2-3 2-24 の文字列として使いたいのですが、 エクセルの「書式・セルの書式・表示形式」で、”文字” にしても、うまく出来ません。

  • エクセルの表示形式(日付→文字)

    エクセルで、2002/12/1のような日付が大量に入っている列があります。 そのセルの表示形式は、現在日付になっているのですが、 文字列に変更する必要が出てきました。 しかし、表示形式を文字列に変更すると、37591のような数字になってしまうセルと、2002/12/1のままのセルが出てきてしまいます。 表示形式を文字列に変えてもすべてのセルが2002/12/1のようになる方法はないでしょうか、よろしくお願いいたします。

  • エクセルの日付を文字にするには

    エクセルのセルの日付(例 2000/11/10)を文字列に変換するにはどうしらよいでしょうか。文字列に変換後、他のソフトで使用したいのですが。

  • EXCELで日付を文字列として取り出すには

    EXCELで日付形式のセルの内容を、そのイメージのまま文字列にするにはどうすれば良いでしょうか。何かうまい方法があれば教えてください。 例えば、2006/01/05 と表示されている日付をそのまま文字列として 取り出したいのです。単にセルの書式設定で文字列に変えただけでは 38722とタイムスタンプの値らしきものに化けてしまうので困っています。

  • エクセル オートフルオプションの件

    エクセルのシート 下記のような表を作成しました。オートフル機能が機能する行としない行があります。   A列    B列    C列  請求番     期    日付  A0001     40    8/25  A0002     40    8/26  A0003     40    8/27 の中、、A列とC列の3行目をドラッグするとおのおの番号および日付が1つずつ繰り下がり、セルの右側にオートフルオプションのアイコンが出て、セルのコピー、連続データ、書式のみコピー、書式なしコピーのものが表示されます。 しかし B列をドラッグしても数字が繰り下がらず、最後文字のセルの右クリックしてもセルのコピーだけ黒文字で表示されほかは連続データ、書式のみコピー、書式なしコピーの文字はグレー文字で選択できません 。B列もA列、C列と同じようにオートフル機能が選択できるようにするには、どうすればよいのでしょうか。

  • エクセルに貼り付けると日付表示に変化してしまう

    ネット上のある表をコピーして、 それをエクセルに貼り付けると、日付表示に変化してしまう文字列があります。 例えば8-14が8月14日、3-2-8が2003/2/8となります。 形式を選択して貼り付けを選ぶと、HTML、UNICODEテキスト、テキストの3つが表示されどれを選んでも思うようになりません。 何か方法はありますか?

  • エクセル日付について

    エクセル2000を使用しています。 文字列で 99/99/99 のデータを YYYY/MM/DD 日付け形式に変換したいのですが、 どうすればよいのでしょうか。 セルには、98/11/20とか 03/03/04 とあります。

専門家に質問してみよう