プロが教える店舗&オフィスのセキュリティ対策術

例えば、エクセルでセル内に「007」という文字を入力したい場合、そのまま入力すると「3」のみが表示されることになるので、「'007」というふうに、シングルクォーテーションを先頭に入れると思います。

そういう先頭にシングルクォーテーションが入っているセルをVBAで変数に格納するとシングルクォーテーションがとれた状態の文字列が変数に入ってしまうのですが、シングルクォーテーション込みで変数化する方法を教えて下さい。もしくは、セルの属性?みたいなものがあり、それを変数として取り出せるなら、そういう方法でもOKです。
ちなみに、NumberFormatLocalではシングルクォーテーションは取り出せませんでした。

よろしくお願いしまうす。


---
エクセル2003
win7

A 回答 (2件)

こんばんは。



こんな感じでどうでしょ。対象はCells(1,1)で。

Sub サンプル()
Dim Tmp As String
Dim i As Long
Tmp = sq付与(Cells(1, 1))
i = MsgBox(Tmp)
End Sub

Function sq付与(Arg As Variant) As Variant
If Arg.PrefixCharacter = "'" Then
sq付与 = "'" & Arg.Text
Else
sq付与 = Arg
End If
End Function

いやー久々に回答しましたー。
    • good
    • 2
この回答へのお礼

久しぶりの回答おめでとうございます。
PrefixCharacterで希望は満たせそうです。
この度は誠にありがとうございました。

お礼日時:2015/05/03 19:39

変数の型を String にすると、「007」で入ると思います。


A1セルに「007」があるとして、以下はどうでしょうか。
B1セルの設定を文字列として、変数の値を表示しています。

-----------------------------------------------------
Sub zzz()
Dim Moji As String
Moji = Cells(1, 1).Value

With Cells(1, 2)
    .Value = Moji
   .NumberFormatLocal = "@"
End With
End Sub
------------------------------------------------------

ご意向と違ったらスルーしてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やりたいことは、「007]を抜き出すことではなく、「'007」を抜き出すことです。
わかりづらくて、申し訳。

お礼日時:2015/05/03 19:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A