2013-12-16 28 views
7

SQLとExcelのマクロを使用していましたが、セルにテキストを追加する方法がわかりません。VBAを使用してExcelのセルにテキストを追加する

"01/01/13 00:00"というテキストをセルA1に追加したいとします。マクロはシートの内容を最初にクリアし、後でその情報を追加するので、セルに書き込むことはできません。

VBAでどうすればいいですか?

+0

になりたいセルになるには、内容をクリアして、それを修正する行を見つけます。 "Range" "A1")= "01/01/13 00:00" –

+0

@それは両方の答えよりも優れています。そのうちの1つは私のものです。 – Bathsheba

+0

@Bathsheba +1 guys –

答えて

14

Range("$A$1").Value = "'01/01/13 00:00"となります。

一重引用符に注意してください。自動変換を数値型に変換することはできません。しかし、あなたは何ですか本当に欲しいですか?別の方法として、日付/時刻値を使用するようにセルをフォーマットする方法があります。文字列から一重引用符を削除します。

+2

+1は似たような考え方を持っています。しかし、私は '[A1]'表記の説明を追加していたので少し速くなりました。 – Floris

+0

テキストは問題ありませんが、私は両方の場合に備えてお試しいただきありがとうございます。 – Phil

+0

これは私にとってはうまくいきません..いくつかのセルにはいくつかの数字を追加しますが、テキストを追加するのではなく、保護されたワークシートですが、手動でセルにテキストを入力できます。マクロは失敗しますか?私はちょうどRange( "$ D $ 2")を使用しました。Value = "'test" –

9

あなたが本当にテキスト(最初の文字としてアポストロフィを注意)として追加することを意味している場合は、

[A1].Value = "'O1/01/13 00:00" 

を行うことができます。

[A1].Valueは、Range("A1").ValueのVBAの略語です。

日付を入力したい場合は、あなたの代わりに(@SiddharthRoutのおかげで編集した順番)を行うことができます:

[A1].NumberFormat = "mm/dd/yyyy hh:mm;@" 
[A1].Value = DateValue("01/01/2013 00:00") 
+1

+1私はいつも忘れる表記です。 – Bathsheba

+0

私はこれをテンプレートとして使用してSQLテーブルのタイムスタンプをフォーマットするので、テキストは問題ありません。ありがとう。 – Phil

+0

アポストロフィが実際のキャラクターとしてそこにあることに注意してください。 SQLはそれを好まないかもしれません。あなたと@Bathshebaに – Floris

2

あなたがRangeValu電子機能を使用する必要があります。
Rangeあなたが
Valueをしたいテキストを使用すると、そのセル内のテキスト

Range("A1").Value="whatever text" 
関連する問題