• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答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

専門家に質問してみよう