
VBA初心者です。
当事務所の事務システム(オラクル)をバージョンアップした際、出力帳票をエクセルのワークシートで出すようにしました。
以前は翼システムの帳票印刷用ソフトに連動させ、すぐ印刷できるものにしていたのですが、今後は出力結果から、合計行を後で(エクセルの段階で)だして付け加えたりなどしなければなりません。
事務所には年配の職員のかたもおられ、やはり自動でできるようにして欲しいとの要望があり、いくつかマクロを作りました。
しかし、各帳票エクセルに出力された際、数字が全て文字列で表示されてしまうので、まずこれを数値に直さなければなりません。
(ココから下)
帳票全部が数字ならば、Ctr+Aで範囲選択し、エクセルのツールで数値に直せばいいのですが、そうではないため、範囲選択するところから含めてマクロにしたいのです。
しかし、「文字列→数値」ができません。マクロのツールを使ってでは、それに値する行が作られませんでした。
Format関数をつかうのでしょうか?
?????
初心者的質問で申し訳ありません。
よろしくお願いします。
Sub Macro会費納入状況表データ()
'
' Macro状況表データ Macro
' マクロ記録日 : 2005/11/17 ユーザー名 : sn
'
'
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Rows("5:5").Select
Selection.Insert Shift:=xlDown
Range("D6").Select
Selection.CurrentRegion.Select
(ココになにかいれるとおもうのですが)
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
Range("A6").Select
Selection.CurrentRegion.Select
Selection.Copy
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。取り合えず、こんな感じのコードを試してみて下さい。
IsNumeric 関数で数値化できるか調べてから、Cdbl 関数で数値化
しています。ただ、セルをひとつずつ調べるのではなく、配列内
で処理してますので、セルの表示形式等に影響されるかもしれません。
Sub TESTMACRO()
Dim BUF As Variant
Dim vntE As Variant
Columns("C:C").Insert Shift:=xlToRight
Rows("5:5").Insert Shift:=xlDown
Range("D6").CurrentRegion.Select
BUF = Selection.Value
For Each vntE In BUF
If IsNumeric(vntE) Then
vntE = CDbl(vntE)
End If
Next vntE
Selection.Value = BUF
Columns("C:C").Delete Shift:=xlToLeft
Range("A6").CurrentRegion.Select
Selection.Copy
End Sub
No.2
- 回答日時:
概ねこんな感じで・
数値が入っているのに、文字列として表示されてしまうのは、セルの書式が文字列になっているためだと思います。
それで、書式を標準にしています。
valはいらないかもしれません
Dim r As Range, x As Range
Set r = Selection.CurrentRegion
For Each x In r
If IsNumeric(x.Value) Then
x.NumberFormatLocal = "G/標準"
x.Value = Val(x.Value)
End If
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで文字列を数値に変換したい
Excel(エクセル)
-
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
-
4
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
5
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
6
【VBA】特定の文字が入っている行の一部を抽出して別シートコピーするには
Visual Basic(VBA)
-
7
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
ファイルが見つからない時、ス...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
Excel_マクロ_現在開いているシ...
-
エクセルに張り付けた写真のフ...
-
Excel VBAからAccessマクロを実...
-
ExcelVBAの繰り返し処理でwebク...
-
マクロで待機時間を作りたい
-
Excel マクロ VBA プロシー...
-
ExcelのマクロをWSHから実行さ...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
UWLSの記録でマクロを作成し使...
-
Excel・Word リサーチ機能を無...
-
マクロ実行時、自動で背景色を...
-
Excel マクロでShearePoint先の...
-
excelのマクロで元に戻す方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
おすすめ情報