[[20150702112257]] 『書式設定のまま(見たまま)貼付する方法』(たけさん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『書式設定のまま(見たまま)貼付する方法』(たけさん)

C3から始まる、Z列までの表があります

C列 メーカーCD 020,030〜999 3桁
E列 店CD 02〜25    2桁
G列 担当CD 01〜50    2桁
I列 得意先CD 010000    6桁
K列 商品CD 0100     4桁   

下記のように書式設定して表示されるようにしていますが
別ブックに貼付(訳がありまして値、空白は無視)すると
書式設定が維持されません

(メーカーコード 020→20になってしまう 見えるままの『020』で貼り付けたい)

    '列の書式設定
    With mySh.Range("A1", mySh.UsedRange)
        .Columns("C").NumberFormatLocal = "000"
        .Columns("E").NumberFormatLocal = "00"
        .Columns("G").NumberFormatLocal = "00"
        .Columns("I").NumberFormatLocal = "000000"
        .Columns("K").NumberFormatLocal = "0000"
        .Columns("M:Q").NumberFormatLocal = "###,##0"
    End With

書式設定の部分も違う方法があるとは思いますが、
何か方法はありますでしょうか
ご指導お願いいたします

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 入力時に先頭の0は入力したくない、という要望でもあるのだろうか?

 セルの書式設定を文字列にして先頭0も入力してはどうか?

 それとも値の貼り付けということは数値を返す式が入っているのか?
 であればその式で文字列にしてはどうか?

 例えばC列の場合。
 =TEXT(式,"000")

(ねむねむ) 2015/07/02(木) 11:44


 コピペは手作業ですか? それともマクロでコピペ?
 後者ならその部分のコードをアップお願いします。

 いずれにしても転記先シートにも同じ書式設定をしておけばいいのではないかと思うんですが?

 あと、本題とは離れますが、

    '列の書式設定
    With mySh.Range("A1", mySh.UsedRange)
        .Columns("C").NumberFormatLocal = "000"
        .Columns("E").NumberFormatLocal = "00"
        .Columns("G").NumberFormatLocal = "00"
        .Columns("I").NumberFormatLocal = "000000"
        .Columns("K").NumberFormatLocal = "0000"
        .Columns("M:Q").NumberFormatLocal = "###,##0"
    End With

 まず思うこととして、マクロで設定する必要があるのかな? ということです。
 何回か実行するとして、すでに設定されているものと同じ書式を何度も設定?
 あらかじめ手作業で設定しておけば、マクロでの処理は不要ですよね。

 次に、マクロ処理をするとしても With mySh.Range("A1", mySh.UsedRange)
 この必要性は?? 現時点で使われていないところは【あえて】書式設定したくない?
 ということは、マクロを動かした後、行追加をすると、その行には書式反映しない?
 (領域がテーブル化されていたり、拡張機能設定がなされたりしていれば別ですが)

 単純に With mySh.Cells でいいのでは??

(β) 2015/07/02(木) 12:07


 値と書式を貼り付けならクリップボード経由では如何でしょうか?

 >いずれにしても転記先シートにも同じ書式設定をしておけばいいのではないかと思うんですが?

 あぁ、確かに。
(コナミ) 2015/07/02(木) 12:34

みなさま

ありがとうございます

ねむねむさん

入力時に先頭の0は入力したくない、という要望でもあるのだろうか? セルの書式設定を文字列にして先頭0も入力してはどうか?

わかりずらくてすいません
この表も別ブックからのデータを転記(VBAで)しています
別ブックには文字列で『'020』という形で入力されています
(先頭が0の場合)

βさん

コピペは手作業ですか? それともマクロでコピペ? コピペは別のブックに別の担当者が手作業でやっています
ペーストするファイルの書式は変更することができません

説明がヘタで申し訳ないです・・・。
(たけさん) 2015/07/02(木) 13:21


 >>ペーストするファイルの書式は変更することができません

 意味がよくわかりません。
 書式を同じにしてコピペしたいのではないのですか?
 つまり、コピペ後、結果として書式が同じになるんですよね。( = 書式が変更される)

 書式は変更できない、だけど同じ書式にしたい? これって、理屈としておかしいのでは?

 そもそもが

 >>別ブックに貼付(訳がありまして値、空白は無視)すると書式設定が維持されません

 この意味がよくわからないのですが、ctrl/c --> コピー先ブックのシートで ctrl/v
 これで、書式ごとペーストされませんか?


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.