質問: 行 + 1 Loop End Sub ↓ このマクロだと A列~F列が書式設定が標準なのに文字列として表示されているのですが 転記先のG列が書式設定が標準であっても 12345678901234 (数値が文字列と保存されています と注釈有) と同じ状態のまま転記できます。 新しいBOOKのシート2に 会社の吐き出しデータをシートコピーした後、 (セルの書式設定:標準だが文字列で表示されている) そのBOOKに登録されているマクロで シート2のセルからシート1のセル(書式設定:標準)に転記すると 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示 となってしまいます。 ちょっと混乱しています。 理屈等教えていただければと思います。お願いします。
回答: >ただ ※1「(イ)の(1)」はマクロ終了後にセルの書式設定が 文字列から→標準に変更されるのかと思いましたが (セルの値と同じ書式でコピ-されるから)文字列のままでした。(謎) 文字列セルを参照する数式では、参照先の数式が自動的に変更されることがありますが、マクロで値をセルに代入しても、代入先のセルの書式設定は変更されません。 >(ウ)転記先のSheet1のB列の書式設定が標準のままの場合 (3)→9.01E+13 90105050050080の予定でしたが? そもそもワークシート関数は値だけしか取り扱えませんので、セルにその値を入力したパターンになります。 >(エ)転記先のSheet1のB列の書式設定を 標準→文字列に変更してからマクロ実行の場合 (3)→90105050050080 セルの値と同じ書式でコピーかつ書式が文字列なので (4)→90105050050080 セルに手入力したと同じ状態だが書式が文字列なので こっちが分かりません。どこか記述がおかしいのでしょうか? この部分も同じことで、文字列書式にしたセルに入力するパターンですので、文字列数字となります。