ジョンは、数値をテキストとして出力する機器を持っています。ワークシートの宛先セルは小数点以下3桁の数値としてフォーマットされていますが、貼り付け時にそのフォーマットは無視されます。データは常にテキストとして貼り付けられます。次に、ジョンは貼り付けたばかりのセルを強調表示し、数値に変換してから、小数点以下3桁にフォーマットする必要があります。

これには時間がかかります!ジョンは、宛先フォーマットを使用してデータを貼り付ける方法を考えています。

驚くほど単純なものからより複雑なアプローチまで、試すことができることがいくつかあります。ただし、それらはすべて、宛先セルが希望どおりにフォーマットされていることを確認することから始まります(これは完了したようです)。

ジョンは、機器が数値を出力する方法を示しておらず、テキストとして出力されているだけです。それらは、テキストファイル、Excelワークシート、Webページ、PDF、またはプログラム自体の表示画面に出力される可能性があります。数値がどのように出力されるかは、Excelに貼り付ける方法に関係する可能性があります。そのため、ソリューションは驚くほど単純またはより複雑である可能性があると述べました。

数値の出力方法に関係なく、数値を選択してCtrl + Cを押します。これにより、番号がクリップボードにコピーされ、Excelに切り替えることができます。情報を貼り付けるセルを選択しますが、Ctrl + Vはクリックしないでください。代わりに、リボンの[ホーム]タブを表示します。

左側に貼り付けツールが表示されます。このツールの右側にある下向き矢印をクリックします。結果のオプションのパレットまたは結果のコンテキストメニューで、[値の貼り付け]、[テキストのみを保持]、または[宛先の書式に一致]を選択します。 (図1を参照)

image

図1.貼り付けツールのコンテキストメニュー。

これらの3つのオプションはいずれも、基本的に同じことを行うように設計されています。つまり、ソースからフォーマットせずに値を貼り付けるだけです。 (どのオプションが表示されるかは、ほとんどの場合、ソースデータの特性によって異なります。)これら3つのオプションのいずれも使用できない場合は、[形式を選択して貼り付け]を選択すると、表示されるダイアログで少なくとも1つが使用可能になります。ボックス。

データが目的の宛先フォーマットを使用してワークシートにある場合は、準備ができています。ただし、この単純なアプローチが期待どおりに機能しない可能性があります。 (繰り返しますが、貼り付けようとしている情報のソースによって異なります。)その場合は、前述の[形式を選択して貼り付け]ダイアログボックスを表示してみてください。 (図2を参照)

image

図2. [形式を選択して貼り付け]ダイアログボックス。

ただし、この場合、[値]ラジオボタンだけでなく、[追加]ラジオボタンも選択する必要があります。これにより、Excelはクリップボードにあるものをすべてターゲットセルに追加します。これにより、(一部のソースデータを使用して)宛先の書式を保持するために必要な数値への必要な変換を提供できます。

このアプローチでさえ、私の貼り付け操作の一部では機能しませんでした。たとえば、Excelワークシートの複数のセルに含まれるはずの複数の値をソースプログラムからコピーしてしまう可能性があります。ただし、これらの値はタブ文字(Excelに値を複数のセルに入れる必要があることを通知します)ではなく、複数のスペースで区切ります。

これにより、Excelは複数の値を単一のセルに配置し、キャジョリングの量によってExcelがそれらを数値として認識しなくなります。

この場合に実行できる唯一のことは、Excelに貼り付けてから、(リボンの[データ]タブにある)[列へのテキスト]ツールを使用して値を複数のセルに分割することです。この時点で、追加のセルの書式設定が必要になる場合があります。私の側で。

ワークシートに配置する前にExcelでデータをマッサージする必要がある場合は、最終的な宛先とは異なるワークシートに最初の貼り付けとマッサージを行う必要があります。そうすれば、最終的な宛先ワークシートを台無しにすることはありません。マッサージされたデータをコピーして、すでに説明した手法を使用して[形式を選択して貼り付け]ダイアログボックスを使用して、その宛先に貼り付けることもできます。

単一のセルに表示される値を貼り付ける場合に使用できる別のアプローチについて説明する必要があります。宛先セルを選択したら、セル自体ではなく数式バーに貼り付ける必要があります。

つまり、セルを選択してから、数式バーを1回クリックします。

そこで、Ctrl + Vを押して値を貼り付け、Enterキーを押すことができます。

セルのフォーマットは、少なくとも邪魔されるべきではありません。

それでもすべての作業でテキストがセルに貼り付けられる場合は、マクロを使用してセルを目的の数値形式に戻すことを検討してください。これがあなたが使うことができる簡単なものです:

Sub DoConvert()

Dim c As Range

For Each c In Selection         If IsNumeric(c) And Not IsEmpty(c) Then             c.Value = CSng(c.Value)

c.NumberFormat = "0.000"

End If     Next c End Sub

影響を与えるセル(貼り付け後にテキストとして誤ってフォーマットされたセル)を選択してから、マクロを実行するだけです。セル内の値を実際の数値に変換した後、必要なフォーマットをセルに適用します。ソースからコピーされた値にタブではなく値の間にスペースが含まれている、前述のタイプのマルチセル分割は行われないことに注意してください。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(5970)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。