[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.