[[20080501193643]] 『Eが入ってもそのままにしたい』(ゴンタ) ページの最後に飛ぶ

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

 

『Eが入ってもそのままにしたい』(ゴンタ)
 
     A	  B	  C	  D	  E
 1 あああ	 いいい	 ううう	 えええ	 おおお
 2 111	  222	  333	  444	  555
 3 1E1	  2E2	  3E3	  4E4	  5E5

 こんな風な表があり この表の隣にこのまま転記する場合

 Sub tennki()
 Dim hanni As Variant,r As Long, c As Long
  hanni = Range("A1:E3")
      For r = 1 To UBound(hanni, 1)
         For c = 1 To UBound(hanni, 2)
           Cells(r, c + 7) = hanni(r, c)
         Next c
      Next r
 End Sub
 としているのですが、内容が
 
 あああ	 いいい	 ううう	 えええ	 おおお
  111	   222	   333	   444	   555
 1.00E+01 2.00E+02 3.00E+03	 4.00E+04	 5.00E+05

 となってしまい 1E1〜5E5の部分がうまく転記する事ができません。
 文字列ではなく数値として読まれている事までは分かるのですが...
  元のまま転記する方法をどなたかお教え願えませんでしょうか。
 宜しくお願いします。    WindowsXP  Excel2003 です


 Dim hanni As Variant,r As Long, c As Long

 文字列  String

 A3:E5が入力出来ているのはそのセルの書式設定が
 「文字列」に成っているからですよね?
 3行目を選択して、書式設定を「文字列」にした後に
 コードを実行するのでは駄目なのですかね?

 (HANA)

 こんなことを考えていました。 (Hatch)
Sub tennki2()
Dim hanni As Variant, r As Long, c As Long
  hanni = Range("A1:E3")
      For r = 1 To UBound(hanni, 1)
         For c = 1 To UBound(hanni, 2)
            If IsNumeric(hanni(r, c)) And hanni(r, c) Like "*E*" Then
                Cells(r, c + 7).NumberFormatLocal = "@"
            End If
                Cells(r, c + 7) = hanni(r, c)
         Next c
      Next r
End Sub
Sub tennki3()
Dim hanni As Variant, r As Long, c As Long
  hanni = Range("A1:E3")
      For r = 1 To UBound(hanni, 1)
         For c = 1 To UBound(hanni, 2)
            If IsNumeric(hanni(r, c)) And hanni(r, c) Like "*E*" Then
                Cells(r, c + 7).Value = "'" & hanni(r, c)
            Else
                Cells(r, c + 7).Value = hanni(r, c)
            End If
         Next c
      Next r
End Sub


 返信有難うございます
 HANAさん
 仰るようにA3〜E3の部分はセルに入力する時点で文字列(頭に ' )にしています。
 しかしコードを実行すると数値となってしまいます。
 変数hanniは配列なので型を文字列(String)にする訳にもいかず...
 Hatchさん
 どちらのコードでもうまくいきました。
 IsNumeric こういう関数があるのですね。勉強になりました。
 有難うございました。     (ゴンタ)

コメント返信:

[ 一覧(最新更新順) ]


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