0

私はExcelで非常に厄介な問題を抱えています.VBAマクロがいくつかあり、その目的は他のセルに内容を入力することです. 私の問題は、Excelが一部のセルのフォーマットを変更し続けることです! ありがとう、でも私はこれを求めていませんでした。それが私を助けようとするたびに、事態を悪化させるだけです。
そして、セルを右クリックして標準形式を設定し、マクロを再試行すると、Excel の変更に戻ります。

私が経験している問題の例を次に示します。
ここに画像の説明を入力

もう 1 つの例は、数値の小数点以下の桁数です。私のマクロが小数点以下 11 桁の数値をコピー/貼り付けする場合、Excel は 7 を保持します。とても迷惑!

4

3 に答える 3

2

文字列変数を介して値を渡すことによってのみ、値をコピーできます。

dim s as string
s = cstr(myrange.value)
mysecondrange.value = s

問題が解決しない場合は、コードの別の部分に問題があります。

もう1つの問題は、新しいセルが一般的にフォーマットされている可能性があり、この場合、Excelは常に、フォーマットをスイートに変更することをよりよく知っていると想定します。目的によっては、同じ VBA コードを使用して自分でフォーマットを設定する必要がある場合があります。

 mysecondrange.numberformat = "@" 'to text 
 'or
 mysecondrange.numberformat = myrange.numberformat 'to other cells format
于 2013-04-25T08:39:14.040 に答える
0

PasteまたはPasteSpecialを使用していますか。

前者は、PasteSpecial xlPasteAllincludes 形式と同等です。

多分あなたのコードRange.PasteSpecial xlPasteValuesRange.PasteSpecial xlPasteFormulas

于 2013-04-24T08:19:55.217 に答える
0

1 つの手法は、基本データを書式設定されたデータから分離しておくことです。最初に、フォーマットを気にしないベース データ シートを作成します。次に、ベース データ シートからデータを取得する数式を使用してプレゼンテーション シートを作成し、それらのプレゼンテーション シートを完全にロックします。Excel でさえ、完全にロックされたシートを再フォーマットすることはできません。

于 2013-04-24T04:03:18.087 に答える