advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 78 for 表示形式 数値 通貨 (0.011 sec.)
表示形式 (6901), 数値 (16332), 通貨 (231)
[[20040207114616]]
#score: 11548
@digest: 9c221bdb240697ade402b96248c2a150
@id: 5170
@mdate: 2004-02-10T08:49:48Z
@size: 6903
@type: text/plain
#keywords: newbook (15354), 通貨 (7008), スー (5608), 値" (4193), 規ブ (4035), な) (3621), 貼付 (2538), right (2528), 値) (2380), ー) (2269), 書式 (2211), workbooks (2067), 数部 (2001), 新規 (1927), 再現 (1756), ブッ (1454), 示形 (1360), ピー (1343), コピ (1303), 数値 (1190), worksheets (1066), activate (1052), 形式 (1018), 小数 (992), 、書 (974), ファ (872), 、新 (858), 整数 (826), ・・ (808), クに (793), 式が (752), ック (681)
『全てのシートのコピー』(さかな)
計算書を作成しています。数式をすべて消し、値だけのファイルを作成したくて、マクロの 自動記録を使って、全てのシートを選択、コピーし、値のみを貼付けました。そのまま保存す ると、マクロがついたままになるので、全てのシートを新しいブックにコピーしたいと思いま した。 Worksheets.Select Worksheets.Copy (実際はSelectとCopyの間に値のみの貼付けの作業が入ります。) これでうまくできたのですが、一点だけ困ったことが起こりました。 値のみを貼付けた時には、書式はそのままで きちんと値のみ貼付けた状態になるのですが、 新しいブックに全シートのコピーが完了した時点で、 表示形式が"数値"だったところが"通貨" に変わってしまうのです。(実際にステップインとういうのを行って確かめたところ、新しい ブックへのコピー完了時に書式が変わっていました。) マクロを使わずにコピーすると、何の問題もなく見たままのとおりにコピーされるのに、マク ロを使うと変わってしまいます。それも、全てではなく、ある行のみそういうことになってし まうので、困っています。 最初の表示形式は間違いなく、"数値"になっているのですが・・・。 コピーすると書式が変わってしまうということはありえるのでしょうか。 なにか良い解決方法がありましたらよろしくお願いします。 ---- ループ処理で1シートずつコピーして、新規ブックに値のみ貼り付けしては如何でしょうか? (INA) ---- ループ処理のやり方がわからなかったので、For Nextを使ってやってみました。 色々なところから参照して組み合わせて作ったのでおかしいかもしれませんが・・・。 Sub test() Dim BN1 As String BN1 = ActiveWorkbook.Name Dim Newbook As Workbook Set Newbook = Workbooks.Add Dim BN2 As String BN2 = Newbook.Name Dim W As Long Workbooks(BN1).Activate For W = 1 To Worksheets.Count Workbooks(BN1).Activate Worksheets(W).Copy Before:=Workbooks(BN2).Worksheets("Sheet1") Next W End Sub これで行ったところ、やはり書式が変わってしまいます。 式の組立方がおかしいのでしょうか。 (さかな) ---- > 最初の表示形式は間違いなく、"数値"になっているのですが・・・。 >コピーすると書式が変わってしまうということはありえるのでしょうか。 これについてはよくわかりませんが、 「値のみの貼り付け」を行った後、もう一度「書式のみの貼り付け」を行うという方法は 駄目なのでしょうか? 「マクロの記録」を使えばVBでの記述内容もわかると思うのですが・・・(スー) ---- 貼付け直後に特に問題はなく、新規ブックにコピーした時点で起こっていると思われます ので、(スー)さんのおっしゃるとおりやってみたのですが、「値のみ貼付け」を行った後、 「書式のみ貼付け」を行っても、新規ブックにコピーした時には同じ結果になってしまいま した。 新規ブックにコピーしてから書式を訂正すればいいのですが、ある行だけ書式が変わると いうのは、何かが問題が起こっているのかと思い、解決方法があれば・・・と思いまして。 (さかな) ---- 新規ブックて貼り付けるとき、「形式を選択して張り付ける」の中の 「値と数値の書式」を選んでも駄目でしょうか?(スー) ---- やってみたのですが、やはり同じ結果になりました。 他の方法を考えた方が良いでしょうか。 (さかな) ---- その不具合は新規ブックのデータでも発生しますか? こちらで再現させる方法があれば教えて下さい。 あと、OSとEXCELのバージョンも。 (INA) ---- 単純に「コピー&貼り付け」を行っても、書式も複写されてはずですから、 「通貨」にはならないのですが・・・・・・・ 「通貨」の¥も付いているのですか? すべてのシートを選択しているのでしたね。 どのシートかに「通貨」の指定があって、それが優先されシート全部が「通貨」に なっているのではないでしょうか? 貼り付けた後、書式を「数値」に変更してはどうですか? 書式が「数値」の「桁区切りを使用する」の指定は Selection.NumberFormatLocal = "#,##0" 書式が「通貨」のときの指定は Selection.NumberFormatLocal = "#,##0_);[赤](#,##0)" 書式を選択して「値」を貼り付ける」の指定は Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False これを記載しておけばできるのではないでしょうか?(スー) ---- 新規ブックで行ってみましたが、同じ結果になりました。 この表は、B3〜R42 までの表で、そのうち F、G、I〜L、O〜Q はグループ化されています。 このグループ化は、有効数字3桁にするための計算や、JIS丸めするための計算等、主に予備 計算の数式が入っています。 このうち書式が変わってしまうのは、N列のみで、O列は計算結果(シンプルな掛け算式;表示 形式は小数以下2桁の数値)、P列はO列を参照して、それを文字列にしたもの(TEXT関数;表示 形式はユーザー定義0)、Q列はP列を参照して整数部分を表記したもの(表示形式は小数点以下 0桁の数値)が入っています。N列はP列及びQ列を参照して、JIS丸めした結果が入るように なっています(表示形式は小数点以下0桁の数値)。自分で作ったのではないので、あまりよく わかっていないのですが・・・。 N列5行目の数式は、次のようになっています。 [ =IF(AND(RIGHT($P5,2)="50",OR(RIGHT($Q5,1)="2",RIGHT($Q5,1)="4",RIGHT($Q5,1) ="6",RIGHT($Q5,1)="8",RIGHT($Q5,1)="0")),ROUNDDOWN($O5,0),ROUND($O5,0)) ] N(問題列) O(結果) P(文字列) Q(Pの整数部分) 5 14 14.50 14.50 14 新規ブックに、このN,O,P,Q列をコピーしたり、シートごとコピーしたり、1行だけコピーした りして、マクロを実行してみましたが、同じ様にN列にあたる箇所のみ書式が変化してしまいま した。 とりあえず、今は(スー)さんにご指摘いただいたとおり、新しいブックにコピーした後に書式 を「数値」に変える方法をとっています。 OSはwindows2000,Excelのバージョンは2002です。 よろしくお願いします。 (さかな) ---- 1. セル A1 に次式を入力して、書式設定の 表示形式を「数値」にした。 [ =IF(AND(RIGHT($P5,2)="50",OR(RIGHT($Q5,1)="2",RIGHT($Q5,1)="4",RIGHT($Q5,1) ="6",RIGHT($Q5,1)="8",RIGHT($Q5,1)="0")),ROUNDDOWN($O5,0),ROUND($O5,0)) ] 2.以下のマクロを実行した。 Sub test() Dim BN1 As String BN1 = ActiveWorkbook.Name Dim Newbook As Workbook Set Newbook = Workbooks.Add Dim BN2 As String BN2 = Newbook.Name Dim W As Long Workbooks(BN1).Activate For W = 1 To Worksheets.Count Workbooks(BN1).Activate Worksheets(W).Copy Before:=Workbooks(BN2).Worksheets("Sheet1") Next W End Sub 3.コピーされたブックのセルの書式設定を確認した。 結果:数値のままだった。 Excel2000,Win98se では、再現できませんでした。 (INA) ---- 確かに再現できませんでした。すみません。 よくわからないのですが、どうやら元のファイルをコピーし、 新規ブックに数式のみを貼付けてファイルを作成しなおし、書式を数値に設定して実行したと ころ、 書式の変化は見られず、元のファイルから数式と一緒に書式も貼り付けてしまうと、書 式が変わってしまうようです。 これは、元のファイルが壊れているのでしょうか。 元になるファイルを作り直すことが、最善の方法なのでしょうか。 たぶん新たに作成したファイルでは再現はできないような・・・そんな気がします。 すみませんでした。 (さかな) ---- ファイルを作り直したところ、書式が変わるという現象は起きなくなりました。 (INA)さん、(スー)さん、お手数をおかけし、すみませんでした。ありがとうございました。 (さかな) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200402/20040207114616.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97037 documents and 608027 words.

訪問者:カウンタValid HTML 4.01 Transitional