- ベストアンサー
文字列変換マクロ
小数点以下5桁(B列)をC列に文字列として変換したいです。 (B列は3.62%入力で表示形式をパーセンテージの小数点以下5桁で表示) データ量が多いためVBA作成希望です。どなたか教示お願いします。
- blackcat77
- お礼率68% (37/54)
- Excel(エクセル)
- 回答数4
- ありがとう数1
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
以下のような感じでしょうか。C列は表示形式を文字列にしてください。 Sub Example() Dim i As Long With Sheets("Sheet1") For i = 2 To .Cells(Rows.Count, "B").End(xlUp).Row .Cells(i, "C").Value = Left(Split(.Cells(i, "B").Text, ".")(1), 5) Next End With End Sub
その他の回答 (3)
- kkkkkm
- ベストアンサー率65% (1620/2459)
No3の補足です。 .Cells(i, "C").Value = "'" & Left(Split(.Cells(i, "B").Text, ".")(1), 5) にすると表示形式は標準のまま文字列になりますが、データの先頭にシングルクォーテーションがつきます。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
マクロを組んでいる時間より式をツツーッが速いと思う。 Public Function CutStr(ByVal Text As String, _ ByVal Separator As String, _ ByVal N As Integer) As String Dim strDatas() As String If N > 0 Then strDatas = Split("" & Separator & Text, Separator, , 0) CutStr = strDatas(N * Abs(N <= UBound(strDatas))) End If End Function
- N5200model05
- ベストアンサー率39% (99/253)
Format関数を使うのが一般的ですね。 https://www.sejuku.net/blog/33422
関連するQ&A
- 整数を1000で割り小数点つけた形の文字列に変換したい・・(例12000→12.000)
VB.NETです。 TextBoxに入力された整数(例12000)を、1000で割り、小数点第3桁まで有効にして、表示したいです。 String.Format(TextBox値, "#.000")でやろうとしていますが、“12”で表示されてしまいます。 小数点を有効した形で、文字列に変換するには、どうすればよろしいでしょうか?
- ベストアンサー
- Visual Basic
- sprintf関数での文字列変換について
マイコンにて、 C言語で浮動小数点の数値を表示するプログラムを作成しているのですが、 PRINT_OUT("123.456"); のように、文字列を直接指定した場合は正しく表示されるのですが、 sprintf()関数を用いて、浮動小数点を文字列に変換した場合、 buf char[10]; sprintf(buf,"%lf",123.456); PRINT_OUT(buf); とした場合はプログラムが暴走?(恐らく配列破壊を起こしていると 思われますが、)してしまい、上手く動作しません。 (但し、整数の場合は正常に動作します。) そこで、質問させていただきたいのですが、 "123.456"のように直接文字列を指定した場合と、浮動小数点123.456 をsprintf()関数を用いて文字列に変換した"123.456"の書式に何か 違いはあるのでしょうか?よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- VBAで文字を削除後、指数に変換
宜しくお願いします。 E列(セルの表示形式=標準で約1000行)に下記のような数値が入っているのですが(p=ピコ1E-12、n=ナノ1E-9、u=マイクロ1E-6)そのE列のp、n、u等を削除してF列にセルの表示形式=指数で小数点以下2桁にコピーしたいのですがVBAで可能でしょうか。 --------------現在---------------- E列 38.000p 8.2360n 2.4778u 空白セル 0.001 --------------VBA後---------------- E列 F列 38.000p 3.80E-11 8.2360n 8.24E-09 2.4778u 2.48E-06 空白セル 空白セル 0.001 1.00E-03
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロ記述について
B列~I列に入力されている最終行まで下記処理を行うマクロの記述を教えてください。 整数のみ小数点以下1桁表示にする。(例: 2→2.0) 小数(例:1.32、2.4)の場合は何もしない。
- 締切済み
- Visual Basic
- エクセルでの数値入力で
こんにちは。 エクセルで数値を入力する場合に,その入力したセルの表示を条件によって小数点以下の桁数を変えたいのです。 例えば,入力セルがB4だとし,B4に 12.8 を入力したとき, A1が1のときはB4の表示は 12.80 (小数点以下2桁まで表示) A1が2のときはB4の表示は 12.8 (小数点以下1桁まで表示) としたいのです。直接入力するセルの表示なので,関数は使えず,条件付書式では,表示形式が使えません。 また,マクロは使わずにやりたいのです。ワークシートは,エクセルにも不慣れな初心者が入力することを想定して作っています。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 文字列が数値に変換されない
文字列の数字をVALUE関数で数値に変換したくても数値になりません。 ♯N/Aと表示されるだけです。 関数を入れたあとに表示形式を数値にしても変わりません。 元の文字列はVLOOKUP関数で検索した数字です。 これができないと仕事が進みません。急いでます。お願いします。
- ベストアンサー
- その他(Windows)
- 1セルに6桁以上入力できない。小数点以下の表示が00になってしまう。
エクセルの1つのセルに1,000,000と入力するも1,000となってしまいます。 数式と値をクリアにしても、表示形式を標準や数値や文字列に設定しても下3桁が入りません。 それと小数点第2位まで計算したいのに、小数点第2位は.00なってしまいます。 それと小数点以下を切り捨てで表示させたいのに、四捨五入になってしまいます。
- ベストアンサー
- Windows XP
- 表示形式を「標準」→「文字列」にした後の『0』の表示
うまく説明できないんですが・・・。 Excelで表示形式「標準」のセルに電話番号を入力します。 すると、頭の『0』以降9桁しか表示されませんよね。 10桁表示するために表示形式を「文字列」にしましたが、それだけでは10桁にならず 頭に『0』を入力していかなくてはなりませんよね。そこで (1)一括して全セルの頭に『0』をつけ10桁表示する方法はありますか? (2)10桁表示させるには表示形式を「文字列」にする以外方法はありますか? ただし、条件として a.表示形式「標準」のセルにある9桁の数字に対する変更なので “あらかじめ「文字列」にしておく”等の回答は除きます。 b.表示形式「ユーザー定義」で『0#########』と設定する方法は除く。 補足しますので、質問も併せて回答をお待ちしています!
- ベストアンサー
- オフィス系ソフト
- エクセルで文字列の5桁目が9なら0に変更
エクセル初心者です。 インターネットで調べてみたのですが、同様の質問にヒットしませんでしたので、教えてください。 A列に8桁の会員番号が文字列で表示されています。 この8桁のうち右側の5桁を関数(RIGHT(a8,5))でB列に抽出しています。 抽出された5桁の数字ですが、最上位桁が9の場合、0に変えたいのです。 A B 01004567 04567 02015678 15678 03098765 98765 → 9を0に入替して「08765」と表示 このような対応が出来る関数を調べたのですが分かりませんでした。 ご教示のほど、よろしくお願いします。
- 締切済み
- オフィス系ソフト
お礼
アドバイスありがとうございました。