• ベストアンサー

エクセルでうまく数字がいきません。

07-12 08-12-15 という数字をネット上からコピーしてきてこれをエクセルに貼り付けてそのまま表示させたいのですが、 コピーしてはりつけてエンターを押すと 7月12日 2008/12/15 こうなってしまいます。2つを左クリック押したまま囲んで右クリックでセルの書式設定のユーザー設定などをいろいろいじったりもしたのですが 04-7-12 08-12-15 というように片方はうまくいったのですがもうひとつがおかしくなったりしてます。 両方とも元のままに表示させるにはどうしたらよいでしょうか? 07-12 08-12-15 これを貼り付けてまず 7月12日 2008/12/15 と表示されてうまくいきません。貼り付けではうまくいかないのでしょうか? これを変換して 07-12 08-12-15 とそのまま表示できたらいいのですが (7)(12) (8)(12)(15) というふうに表示できたらなおいいのですが可能でしょうか?(○の中に数字というのを書きたかったのですがかっこになってしまいました…。) よろしくお願いします。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.4

07-12、08-12-15 などをそのままのカタチで表示するには、あらかじめ、その列を文字列属性にしておくべきでしょう。 >(7)(12)、(8)(12)(15)というふうに表示できたらなおいいのですが可能でしょうか?   (○の中に数字というのを書きたかったのですがかっこになってしまいました…。) 下記で、貼り付けて日付属性になったセルを直接、丸付き数字に変換するようにしてみました。 07-12→(7)(12)、08-12-15→(8)(12)(15) と表示します。()は丸の意味です。 しかし21以上は丸付き数字がないので、[21]、[22]・・・・のように表示します。最高は32? ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。出てきたコードウインドウに下記マクロをコピーして貼り付けます。 シートに戻り、変換したいセル範囲を選択し、ツール→マクロ→マクロでこのマクロを指定して実行します。 複数セルを選択して一括変化できます。変換できない文字(入力書式)があったら補足して下さい。 ここから ↓ Sub chgStringFormat()   Dim Rng As Range     '// セル   Dim wrk As String     '// ワーク変数   Dim wrk2 As String    '// ワーク変数(結果)   Dim num As Integer    '// 個々の数値   Dim pot As Integer    '// 『-』の位置      For Each Rng In Selection     '// 元の文字に戻す     wrk = ""     Select Case Rng.NumberFormatLocal       Case "m""月""d""日"""         wrk = Format(Rng.Text, "mm-dd")       Case "yyyy/m/d"         wrk = Format(Rng.Text, "yy-mm-dd")       Case Else         If InStr(Rng, "-") > 0 Then           wrk = Rng.Text         End If     End Select     If wrk <> "" Then       '// 丸付き数字に変える       wrk = wrk & "-": wrk2 = "": pot = InStr(wrk, "-")       While Len(wrk) > 0         num = (Val(Left(wrk, pot - 1)) Mod 100)         If num <= 20 Then           wrk2 = wrk2 & Chr(&H8740 + num - 1)  '// 丸付き数値         Else           wrk2 = wrk2 & "[" & num & "]"     '// [数字]         End If                  '// 次の文字         wrk = Right(wrk, Len(wrk) - pot): pot = InStr(wrk, "-")       Wend       '// 書き込み       Rng = wrk2       Rng.NumberFormatLocal = "G/標準"     End If   Next End Sub

mtaked
質問者

お礼

お礼が遅くなり申し訳ございません。 さっきやったらできました。 本当にありがとうございました。

その他の回答 (4)

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

-(ハイフン)の入りそうな列だけ、書式を文字列にして貼りつけては。 必ず貼りつける「前に」書式を文字列にすること。 「貼りつけたい」セル(全体)だと、文字列にしては差し障りのある列もあるでしょうから。 後半は短いコードで出来ますよ。但し丸つきがある20まで。 以下コードのArrayの所は、OKWEBで丸つき文字が(1)のように変えられますが丸つき文字と思ってください。 A列に 07-12 08-12-15 等があるとしてB列に列挿入して、下記を実行してください。B列に丸つき文字が入ります。 -を入れるならm(Val(s(0))) & "-" & m(Val(s(1))) のようにすると良い。 Sub test01() d = Range("a1").CurrentRegion.Rows.Count For i = 2 To d m = Array("", "(1)", "(2)", "(3)", "(4)", "(5)", "(6)", _ "(7)", "(8)", "(9)", "(11)", "(10)", "(12)", "(13)", "(14)", _ "(15)", "(16)", "(17)", "(18)", "(19)", "(20)") s = Split(Cells(i, 1), "-") If Len(Cells(i, "A")) < 6 Then Cells(i, "B") = m(Val(s(0))) & m(Val(s(1))) Else Cells(i, "B") = m(Val(s(0))) & m(Val(s(1))) & m(Val(s(2))) End If Next i End Sub

mtaked
質問者

お礼

ありがとうございました。-でも試してみようと思います。

  • miumiumiu
  • ベストアンサー率21% (715/3385)
回答No.3

はじめにコピー&貼り付けするところ(全体)に 書式→セル→書式設定 文字列 に設定しておけば、 いちいち設定しなくてすみますよ!(*^_^*)

noname#240783
noname#240783
回答No.2

1.Excelの貼り付けたいセル(またはセル範囲)の書式設定を 「文字列」にする。 2.ネット上(?)から目的の部分をコピーする。 3.Excelの貼り付けたいセルを選択してから「右クリック」か メニュー「編集」で「形式を選択して貼り付け」をクリック。 4.「Unicodeテキスト」か「テキスト」を選択して「OK」クリック。 以上で、元のままの形式で貼り付けられたと思います。 Excelの標準セルでは「ハイフン」は日付区切りとして認識しますので、 こういった方法をとらないとダメ(だろう)と思います。 なお、ネット上から持ってくる場合「HTML」形式で貼り付けると 思わぬ空白や書式がそのまま張り付くので避けたいです。 また、特にネット上から持ってくる場合「テキスト」形式で 貼り付けると思わぬ文字コードが「落ちる」可能性がありますので 「Unicodeテキスト」形式をお勧めします(ま、滅多に問題ないですが) なお、そのまま「丸囲みの数字」に変換したい、というのは 無理でしょうねぇ(私にとってはですが)

mtaked
質問者

お礼

回答ありがとうございます。 Date 開催 天候 R レース名 頭数 枠 馬 着 人気 騎手 斤量 距離 Time (前,後)ペース 上り 通過 馬体重 04/01/11 1回中山3 晴(良) 8R 500万下 16 1 2 14 7 ボニヤ 54.0 ダ1200 1:15.9 (34.0-36.7)S 41.4 07-12 432 -4 03/12/06 6回中山1 曇(良) 6R 500万下 16 5 9 6 2 田中勝 54.0 ダ1200 1:14.3 (34.6-36.9)S 38.3 10-11 436 -4 03/11/08 4回東京1 晴(稍) 6R 500万下 12 7 9 4 3 田中勝 54.0 ダ1300 1:20.4 (36.3-37.1)S 37.7 02-02 440 -14 実は上のようにコピーして貼り付けるのは競馬のデータで問題の部分は「道中の通過順位」で通過と書いてある下の数字です。教えてもらった方法ですとレース名とかをクリックするとその情報のところに飛べたりするのですが、全部そのリンクとかがなくなってそれができなくなってしまいます。 身内のものが言うにはマクロ的なことをすればなんとかなるかもみたいなことを言っていますがよくわかりません。 もしかしたら無理なのかもしれませんが何か方法がありましたらよろしくお願いします。 問題の部分だけを選択とかできないですよね?全部選択しか無理ですよね。

  • Hyoutan
  • ベストアンサー率25% (69/266)
回答No.1

一番簡単なのは「'07-12」というふうに,最初に’をつけます.

mtaked
質問者

お礼

回答ありがとうございます。しかしそれでは1つづつしないとダメですよね?コピーして貼り付ける量が多いのでできればまとめて 07-12 02-03-15 02-11-12-12 (数字は4つまでです) とかの数字を一括でもとのまま表示させたいのです。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう