• ベストアンサー

Excelについて質問させていただきます。

Excelについて質問させていただきます。 セルに書式設定のユーザー定義で、0000000に設定されていたとします。 1を入力した場合は、0000001と表示されますが、これを隣のセルなどに、文字列で0000001としてコピーすることはVBA、関数で可能でしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

関数で =TEXT(A1,"0000000") マクロで range("B1").numberformat = "@" range("B1") = range("A1").text

その他の回答 (2)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

隣のセルの書式を文字列にしておいてください。 VBA (0000001と表示されているセルを選択して実行) Sub test() ActiveCell.Offset(0, 1).Value = Format((ActiveCell.Value), ActiveCell.NumberFormat) End Sub

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

関数を使う場合は、FORMAT関数と TEXT関数で書式を指定しましょう。 (完全に複製することはできない事もあります) VBAは勉強中なので、できるのでしょうが方法を知りません。

関連するQ&A

  • excelで0が13個貼り付け

    excel2000で 000000000000(←0が13個)とセルの書式設定、ユーザー定義で設定しているセルがあります。 このセルをコピーして、貼り付けるときの方法について相談です。 excel2000で 000000000000(←0が13個)とセルの書式設定、ユーザー定義で設定しているセルがあります。 たとえば、このセルに0と入力すれば、000000000000(←0が13個)と表示されるのですが、 このセルをコピーして、ユーザー定義が文字列のセルに貼り付けていのですが、どうしても0としか貼り付けられません。 ユーザー定義が文字列のセルにも、000000000000(←0が13個)と貼り付けられるようにするにはどうすればいいでしょうか

  • エクセルの書式設定

    エクセルの書式設定 エクセルでセルに入力した文字列の間に1文字分のスペースを入れて表示するように設定したいのですが、どうすればいいでしょうか? ただし、条件があって、 条件1 入力する文字列は必ず2文字です。つまり2文字の間に1文字分のスペースを入れる。 条件2 ユーザー定義を使って設定したいのですが…(関数やVBAではなく。) としたいのですが、可能でしょうか? 簡単な説明で申し訳ないのですが、どなたかご教授お願いいたします。 よろしくお願いいたします。

  • Excel の「セルの書式設定」に関して

    Excel 2010を使用しています。セルに「5-1」と入力すると「5月1日」と表示されてしまいます。それで入力前に「セルの書式設定」を「文字列」に指定してから入力すると「5-1」と表示してくれます。ところが Web ページなどからそのままコピー&ペーストすると入力前に「セルの書式設定」を「文字列」に指定したにもかかわらず,「5月1日」となり,勝手に「セルの書式設定」が「ユーザー定義」に切り替わってしまいます。Web ページなどからコピー&ペーストしたデータを「文字列」のまま入力させる方法はありませんでしょうか?

  • TEXT・LEFT・LEN関数等を使用する表示方法

    エクセルのセルの書式設定→ユーザー定義で、セルA1に、例えば 「00011」等5桁の数字を入力すると「00-011」と表示される様に設定 した場合、LEFT関数を使って左の2文字・・・この場合は「00」をB1に 表示させたいのですが、どうしたらよいでしょうか。 「0」以外で始まる数字も使いたいので(例えば「11243」等)、ゼロで始 まる文字列、そうでない文字列、その両方に有効な関数式があったらお 願い致します。ユーザー定義は出来れば使いたいです。 宜しくお願い致します。

  • エクセル 書式設定 ユーザー定義

    エクセル書式設定ユーザー定義について  郵便番号の後ろ4桁で、0から始まる数値を0を付け加えた文字列にしたいのですが(例:123を0123と表示、最初の123は数値、0123は文字列で)TEXT関数を使って他のセルには作れるのですが、ユーザー定義での設定は可能でしょうか?

  • Excel セルの先頭のシングルクォーティション?

      エクセルのある特定のセルを ユーザーが何でも自由に入力できるようにしたいのですが Excelの標準的な仕様で 先頭に`(シングルクォーティション)を入力すると 文字列データの宣言と解釈されて、 結果的に先頭の`(シングルクォーティション)が 文字として認識されなくなっています。 (問1) このExcelの標準的な仕様を無効にすることはできないでしょうか。     あるいは、セルの書式設定の表示形式のユーザー定義などで     先頭の`(シングルクォーティション)を通常の文字として     処理させる(エスケープさせる)ことはできないでしょうか。 (問2) セルの書式設定を文字列にすれば、     先頭の`(シングルクォーティション)による文字列の宣言     としての意味はないように思われますが、     セルの書式設定を文字列をした時の     先頭の`(シングルクォーティション)には     何か意味があるのでしょうか。 (問3) セルの書式設定を文字列にして     先頭に`(シングルクォーティション)を入力して     以後、何も入力しない、または、何かを入力した場合と     セルの書式設定を標準のままで     先頭に`(シングルクォーティション)を入力して     以後、何も入力しない、または、何かを入力した場合と     では、両者に何か違いがあるのでしょうか。 よろしくお願いします。

  • EXCELでの日付表示で

    EXCELで日付表示する際に、「0208」と入れたら「2/8」となるようにしたいのですが、 「セルの書式設定」の「ユーザー定義」や「日付」では西暦から入力しないと 「2/8」のようにはなりません。 それも「2005/02/08」と入力して初めて「2/8」となるのなら 初めから「2/8」と直接入力した方が早いです。 要は「/」(スラッシュ)をイチイチ入力したくないので、 「0208」→「2/8」となるようにしたいのですが、その場合 どういう書式設定をすればいいのでしょうか? もしかすると、日付というより文字列として考えた方がいいのかも しれませんが、分かる方教えて下さい。

  • エクセルのセル書式設定について

    エクセルのセル書式設定について教えてください。 セルA1に文字列「052」と入力すると、B2に「0 5 2」と表示されるようにするには、 書式設定をどう設定したら良いですか? ちなみに、A1を文字列ではなく数値で設定し、B2をユーザー定義「# # # #」で登録すると、 A1は「52」、B2は「5 2」と表示されてしまいます。 A1を「052」と表示させる為には、文字列として設定しなくてはいけないが、 そうするとB2の値も「052」と表示されてしまいます。 どなたか良い方法を教えてください。

  • EXCELの関数について教えてください。

    EXCELの関数について教えてください。 A列のセルに「18:00 」or 「18:30」 or「19:00」 or「19:30」と入力するとB列のセルに「8:00」と表示され、「17:30」と入力すると「7:00」と表示される方法を教えてください。 セルの書式の表示形式は「文字列」ではなく「時刻」に設定したいです。 多分IF関数をつかうを使うのではないかと思うのですが、書式が「時刻」のためかうまくいきません。 よろしくお願いします。

  • Excelでゼロサプレスする際の書式設定について

    Excelのセルの書式設定で、値がゼロの時に非表示にするため、書式設定を以下のように変更しました。 旧)「文字列」 新)「ユーザー定義」とし、「#,###」と設定 これによって確かにゼロサプレスできるようになったのですが、新たな問題がでてきました。 セルの幅に収まりきらない桁数の大きい数値が「#####」と表示されるようになってしまいました。これまでは左隣のセルにまたがって(文字列で右揃えの設定だったので)表示させていたので問題なかったのですが、書式設定を上記内容に変更したことで、セルの書式自体は右揃えなっているのですが左隣のセルにまたがって表示されなくなりました。 元通り、桁数の大きい場合は隣のセルにまたがって表示させるようにするにはどうすればよいでしょうか? よい方法があったら是非教えてください。お願いします。

専門家に質問してみよう