
いつもお世話になっております
先日も質問させて頂きました
お世話になり、ありがとうございました
新たな問題が出て、解決できません
ご存知の方ご教授お願い致します
A列内に数値型と文字列、式の入ったセルが混ざって10000件程度あります
ActiveSheet.Range("A:A").SpecialCells(xlCellTypeConstants, xlTextValues).Select
で文字列のセルを選択するとこまでは良いのですが、この後選択した文字列の
セルに式を入れたいと思うのですが、うまくいきません
もしご存知のかたいらっしゃいましたらご教授お願いします
この考えは、セル内に文字列の数値が設定されていて
オートカルクが出来ない為、数値型に変換しようと思い上記のような
ことを考えております
セルをWクリックすると数値にはなるのですが、件数が多い為マクロを
組もうと思いました
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>文字列になっている数値の値が全て1になってしまいました
すみません、私が無知でした
簡単な、テストは行ったのですが、数値、文字列、数式とランダムに並べるとダメでした
'ベタな処理になってしまいました
Sub test()
Dim Rng As Range
For Each a In Range("A:A").SpecialCells(xlTextValues)
Rng.Value = Rng.Value
Next
End Sub
今度は、3万行内、対象のセルは1万強行
私の環境で5秒強
ただ、数式が簡単なものだったので、参考程度に
今回は、私も勉強になりました 有難う御座いました
お世話になっております
>すみません、私が無知でした
いえいえ、とんでもないです
>簡単な、テストは行ったのですが、数値、文字列、数式とランダムに並べると
>ダメでした
>'ベタな処理になってしまいました
>Sub test()
>Dim Rng As Range
>For Each a In Range("A:A").SpecialCells(xlTextValues)
>Rng.Value = Rng.Value
>Next
>End Sub
>今度は、3万行内、対象のセルは1万強行
>私の環境で5秒強
>ただ、数式が簡単なものだったので、参考程度に
私も上記のような処理で文字列だけを対象にするようにしました
>今回は、私も勉強になりました 有難う御座いました
私もSpecialCellsが知れて大変勉強になりました
ありがとうございました
No.2
- 回答日時:
数式を設定するのであれば
Range("A:A").SpecialCells(xlTextValues).Formula = "=A1+B1"
文字の数字を数値化するのであれば
Range("A:A").SpecialCells(xlTextValues).Value = Range("A:A").SpecialCells(xlTextValues).Value
前回指摘のあったactivesheet.ですが、処理対象のシートを表示して
マクロを実行すれば必要ないはずなのですが???
お世話になっております
返信遅れましたm(_ _)m
>Range("A:A").SpecialCells(xlTextValues).Value = Range("A:A").SpecialCells
>(xlTextValues).Value
A列にデータをn件用意し、数値型、文字列、式とランダムに設定し
上記内容を実行したところ文字列になっている数値の値が全て1になってしまいました。使い方が間違っておりますでしょか?
私としては設定されている数字がそのまま数値になってほしかったのですが・・
>前回指摘のあったactivesheet.ですが、処理対象のシートを表示して
>マクロを実行すれば必要ないはずなのですが???
すみません。私の実行の仕方が間違ってたみたいです
うまくいきました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
Application.Matchで特定行の検索
-
i=cells(Rows.Count, 1)とi=cel...
-
DataGridViewのセル編集完了後...
-
セルに貼り付けた画像の上から...
-
VBAでセル同士を比較して色付け
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
VBAでセルをクリックする回...
-
VBA初心者です。結合セルを保持...
-
Excel vbaで特定の文字以外が入...
-
EXCELで変数をペーストしたい
-
VBAの間違い教えて下さい
-
エクセルvbaで、別シートの最下...
-
【VBA】指定したセルと同じ値で...
-
特定行の色を変えたい(FlexGrid)
-
ExcelVBA:オートフィルタをかけ...
-
【Excel】指定したセルの名前で...
-
Excel VBA、 別ブックの最終行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
特定行の色を変えたい(FlexGrid)
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
VBA実行後に元のセルに戻りたい
-
Application.Matchで特定行の検索
-
”戻り値”が変化したときに、マ...
-
VBAでセルをクリックする回...
-
任意フォルダから画像をすべて...
-
Excel VBAで、 ヘッダーへのセ...
-
TODAY()で設定したセルの日付...
-
【Excel VBA】指定行以降をクリ...
-
Excel vbaで特定の文字以外が入...
-
ExcelのVBAで数字と文字列をマ...
-
Excel VBA、 別ブックの最終行...
-
DataGridViewの各セル幅を自由...
-
VBA ユーザーフォーム ボタンク...
-
連続する複数のセル値がすべて0...
おすすめ情報