Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2783 / 13645 ツリー ←次へ | 前へ→

【66012】JISでリテラル値を指定すると… ぷーたろー 10/7/15(木) 19:24 質問[未読]
【66013】Re:JISでリテラル値を指定すると… いも 10/7/15(木) 19:36 発言[未読]
【66015】Re:JISでリテラル値を指定すると… Abyss 10/7/15(木) 20:24 回答[未読]
【66016】Re:JISでリテラル値を指定すると… ぷーたろー 10/7/15(木) 22:03 お礼[未読]
【66017】Re:JISでリテラル値を指定すると… Abyss 10/7/15(木) 22:12 発言[未読]
【66018】Re:JISでリテラル値を指定すると… ぷーたろー 10/7/15(木) 22:46 お礼[未読]

【66012】JISでリテラル値を指定すると…
質問  ぷーたろー  - 10/7/15(木) 19:24 -

引用なし
パスワード
   Excel2003を使用しています。
VBAで、JIS関数を設定しているんですが、結果がすぐに反映されません。
普通の計算式は、すぐに反映されています。
※オプションの計算方法は、自動になっております。

どなたか、回避方法わかりますでしょうか?

ちなみに↓で再現できると思います。
Private Sub CommandButton1_Click()
  Range("A1").Formula = "=JIS(""1"")"
  Range("A2").Formula = "=JIS(B1)"
  Range("A3").Formula = "=SUM(C1+C2+C3)"
End Sub

【66013】Re:JISでリテラル値を指定すると…
発言  いも  - 10/7/15(木) 19:36 -

引用なし
パスワード
   Application.Calculateとかどう?

【66015】Re:JISでリテラル値を指定すると…
回答  Abyss  - 10/7/15(木) 20:24 -

引用なし
パスワード
   formulaプロパティの代わりに
formulalocalプロパティを使いましょう。

  Range("A1").FormulaLocal = "=JIS(""1"")"
  Range("A2").FormulaLocal = "=JIS(B1)"
  Range("A3").FormulaLocal = "=SUM(C1+C2+C3)"

あるいは、

  Range("A1").Formula = "=DBCS(""1"")"
  Range("A2").Formula = "=DBCS(B1)"
  Range("A3").Formula = "=SUM(C1+C2+C3)"

【66016】Re:JISでリテラル値を指定すると…
お礼  ぷーたろー  - 10/7/15(木) 22:03 -

引用なし
パスワード
   早速のレスありがとうございます。
すばらしいです♪

「Excel VBA できる大辞典(2004年発行)」を見ながら作ってたんですが、
FormulaLocalや、DBCSなんて、全然のってませんでした…

本当は、セルに数式埋めたくはなかったんで、↓のようにしました。
Range("A2").Value = Application.Evaluate("Dbcs(B1)")

※書式設定の[DBNum3]が、数字のみしか対応してないのが、そもそもの始まりでしたが…

ほんとうに、ありがとうございました。

【66017】Re:JISでリテラル値を指定すると…
発言  Abyss  - 10/7/15(木) 22:12 -

引用なし
パスワード
   折角、VBAを使うならばダイレクトにVBA関数を
使うことをお勧めします。

> Range("A2").Value = Application.Evaluate("Dbcs(B1)")
        ↓
 Range("A2").Value = StrConv(Range("B1"), vbWide)

【66018】Re:JISでリテラル値を指定すると…
お礼  ぷーたろー  - 10/7/15(木) 22:46 -

引用なし
パスワード
   本当にありがとうございます。
早速ためさせていただきました。

1つだけ注意しないといけないことがありました。
変換する値が、数値の場合、値を書き込むセルの書式は、文字列等にしておかないと、
勝手に、半角に戻されてしまうんですね…
デバッグで見るとちゃんと全角に変換されてたのにちょっと悩みました…

ほんと感謝です。ありがとうございました。

※変換後のセルの左上隅に緑のコメントが付くのが、ちょいと目障りですね…

2783 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free