- PR -

エクセルVBAにて""内に値を入れたい

1
投稿者投稿内容
れっどきんき
常連さん
会議室デビュー日: 2004/03/11
投稿数: 33
投稿日時: 2007-03-20 13:28
エクセルのVBA内に以下の例ではダブルクォーテーションで囲まれた中に
あるセルの値をいれたいのですが以下の例ではセルの値ではなく文字列が入力されてしまいます。
どのようにすれば値を入れることが可能でしょうか?

.Cells(i - 5, 1).Value = .Cells(i - 5, 1).Value & """ .Cells(i - 5, 1).Value"""
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2007-03-20 13:43
引用:

れっどきんきさんの書き込み (2007-03-20 13:28) より:

.Cells(i - 5, 1).Value = .Cells(i - 5, 1).Value & """ .Cells(i - 5, 1).Value"""



正直、これだけでは(そのままだと)検証のしようがありません。
最低限回答者側で検証可能なコードを示すようにしてください。

と言ってもそれだけだと困るので、エスパー伊東をフル稼働させてこんなコー
ドを作りました。

コード:

Public Sub test()
    Dim i As Integer
    i = 20
    With ActiveSheet
        .Cells(i - 5, 1).Value = _
            .Cells(i - 5, 1).Value & """" & .Cells(i - 5, 1).Value & """"
    End With
End Sub


ということで、要するに "(ダブルクォーテーション)の数が足りないのと、&
が入っていないために「 .Cells(i - 5, 1).Value」という文字列だと思わ
れているわけです。
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-20 14:17
二重引用符のエスケープが見難い (わからない) のであれば定数を使いましょう。

コード:

    Public Const DoubleQuote As String = """"

    Private Sub MosaMosaAA()
          :
        .Cells(i - 5, 1).Value = DoubleQuote & .Cells(i - 5, 1).Value & DoubleQuote
          :
    End Sub


右辺の最初にある ".Cells(i - 5, 1).Value" は、件名から察するに不要でしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
れっどきんき
常連さん
会議室デビュー日: 2004/03/11
投稿数: 33
投稿日時: 2007-03-20 15:36
ありがとうございます。
上記2件とも動作しました。
1

スキルアップ/キャリアアップ(JOB@IT)