
No.4ベストアンサー
- 回答日時:
こんにちは。
#1さんのところの補足で書いたのは、「値の代入」です。転記するなら、Copy メソッドを使うか、NumberFormatLocalで、書式を設定するかコピーしてください。
>先程の補足は例ではなく、実際のコードです。
>ActiveSheet.Range("AA3").Value = 1
>ActiveSheet.Range("AA4").Value = 2
>ActiveSheet.Range("AA5").Value = 3
>ActiveSheet.Range("AA6").Value = 4
>ActiveSheet.Range("AA7").Value = 5
↓
Sub TestSample1()
Dim LastRow As Long
Dim i As Long
With ActiveSheet
LastRow = 5
For i = 1 To LastRow
.Range("AA3").Offset(i - 1).Value = i
Next i
.Range("AA3").Resize(LastRow).NumberFormat = "General" '英語表記
End With
End Sub
'(NumberFormatは、NumberFormatLocalよりもむつかしいので注意してください)
P.S 書式の自動変換など、型の変換を、「自動キャスト」と呼びます。例えば、日付のテキスト値の一部は、ワークシートのセルの書式にもっとも合うものに変換されますが、この場合は、元の書式を変えているわけではありません。
No.3
- 回答日時:
値だけを扱うエクセル関数はもちろん、VBAの値(Value)をセットするだけで、書式が変わることはありません。
それ以前に設定されている書式が、値を得て、見えるような形になったのだと思いいます。どうしても気になるのなら、VBAでセルの書式NumberFormatプロパティを設定すれば、今までの書式にかかわらず、そのように書式が設定されます 。
気になるなら
範囲を指定して
Sub test01()
Dim cl As Range
For Each cl In Selection
MsgBox cl.NumberFormat
Next
End Sub
を実行すると、範囲指定したセルに現在セットされているセルの書式が確かめられ、判ります。
No.2
- 回答日時:
えーと
例じゃなくて、実際に書いているコードを見せてほしいんですが・・・
実際には具体的な値ではなくて、どこかのセルから引っ張ってきた値(変数)を入力しているんですよね。持ってきかたによっては書式ごと持ってきちゃうことも考えられるので言ってます。
補足に書いてあるようなコードをそのまま(文字通りそのままです)書いて、かつAA3:AA7の書式が標準で、ご指摘のような内容になるのであれば、ごめんなさい。私の出る幕ではなかったです。
banker_U 様ありがとうございます。
先程の補足は例ではなく、実際のコードです。
AA3:AA7に1から順番に数字を代入してます。
代入した数字の表示形式がいろいろとなります。
もし何かわかれば、またよろしくお願いします。
No.1
- 回答日時:
こんにちは
ちょっと今の情報だけでは状況が判明しません。
具体的にどんなコードを書いていますか?
コピー部分とペースト部分を教えてください。
多分省略しているプロパティをきちんと書けばいいと思います。
あと、シートの方の書式設定(コピー元、コピー先とも)も問題かもしれません。
この回答への補足
banker_U 様早速のご回答ありがとございます。
ActiveSheet.Range("AA3").Value = 1
ActiveSheet.Range("AA4").Value = 2
ActiveSheet.Range("AA5").Value = 3
ActiveSheet.Range("AA6").Value = 4
ActiveSheet.Range("AA7").Value = 5
コードは上記のように代入しています。1が100%になったり、ならなかったりします。
シートの方の書式は、標準に設定しなおしても、VBAで再書き込みすると同じようになります。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルの表示形式を保ったまま、セルに値を代入するには?
Visual Basic(VBA)
-
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
VBA:日付を配列に入れ別セルに転記するとデータ型が変わる
Visual Basic(VBA)
-
-
4
【vba】日付の形式が勝手に変わってしまう。
Excel(エクセル)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ
その他(Microsoft Office)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
VBAで転記すると元のシートの条件付き書式が消えてしまいます。
Excel(エクセル)
-
10
【Excel VBA】マクロで書き込んだセルのフォントが「MS Pゴシック」になってしまう。
Visual Basic(VBA)
-
11
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
12
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
13
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
14
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
15
Excel2013でセルの書式が勝手に変わる件
Excel(エクセル)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
18
Excelで3E8を3.00E+8にしない方法を教えてください。
Excel(エクセル)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
[Excel VBA] ODBCによる外部データ取込で書式が変わる。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの条件付き書式を崩された...
-
excel関数式の一部を太字にする
-
エクセルのピボットテーブルの...
-
EXCEL 表の書式のみ変更不可(...
-
Excel 書式を関数で判断。
-
エクセルで重複データを行ごと...
-
エクセルで、書式は変えずに連...
-
excelで選択範囲の反転をしたい...
-
Excel 条件付書式で土日の左・...
-
エクセルで1年前の日付になった...
-
VBAでシート書式の自動変換を作...
-
エクセル:一定以上の数値にな...
-
条件付き書式(色変更)は、予...
-
エクセル関数で、Falseの場合赤...
-
EXCELの関数でセルに色を設定
-
エクセルで複数列を1列にまと...
-
エクセルでコメントを入れた時...
-
EXCELにて、整数と小数点を色分...
-
エクセル→貼り付けのオプション...
-
エクセルです。入力して実行す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの条件付き書式を崩された...
-
excel関数式の一部を太字にする
-
エクセルのピボットテーブルの...
-
Excel 書式を関数で判断。
-
エクセルで重複データを行ごと...
-
excelで選択範囲の反転をしたい...
-
EXCEL 表の書式のみ変更不可(...
-
エクセルで、書式は変えずに連...
-
エクセルで2つのシートで重複し...
-
Excel 条件付書式で土日の左・...
-
EXCELにて、整数と小数点を色分...
-
エクセル:一定以上の数値にな...
-
Excel 条件付書式で二つの条件...
-
条件付き書式が選択できない?!
-
エクセルで1年前の日付になった...
-
Excel2003 の条件付き書式、「...
-
VBAで転記すると元のシートの条...
-
条件付き書式(色変更)は、予...
-
指定した期限が近づくとセルの...
-
Excelで4勤2休のカレンダーを作...
おすすめ情報