Excelのマクロに関する質問です。良い回答は、250ポイント差し上げます。

計算式の埋め込み処理のマクロで、
実行したら「'○○'」シングルクォーテーションが入ってしまいました。
実行結果は、
「=VLOOKUP('D5',機械設定!Q3:S300,2,FALSE)」
        ↓
以下のような実行結果にしたいと思います。
「=VLOOKUP(D5,機械設定!Q3:S300,2,FALSE)」

※対象コードは、11行目になります。

--------------------------------------------------------------------------------------------------
1 Sub Nyuryoku()
2
3 Application.ScreenUpdating = False
4 Dim lastRowA As Long
5 Dim Z As Long
6 lastRowA = Range("B" & Rows.Count).End(xlUp).Row
7 For Z = 5 To lastRowA
8 If Range("B" & Z).Value <> "" Then
9 Range("A" & Z).Formula = "=ROW()-4"
10 Range("D" & Z).Formula = "=B" & Z & "&C" & Z & ""
11 Range("E" & Z).Formula = "=VLOOKUP(D" & Z & ",機械設定!R[-2]C[12]:R[295]C[14],2,FALSE)"
12 End If
13 Next Z
14 Application.ScreenUpdating = True
15
16 End Sub
---------------------------------------------------------------------------------------------------
どうか宜しくお願いします。

回答の条件
  • 1人10回まで
  • 13歳以上
  • 登録:2011/02/26 23:52:42
  • 終了:2011/02/27 00:33:10

ベストアンサー

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912011/02/27 00:08:23

ポイント250pt

原因はRC フォーマットとアドレスフォーマットを混在させたことによる

ものだたと思います。

Sub Nyuryoku()
    Application.ScreenUpdating = False
    Dim lastRowA As Long
    Dim Z As Long
    lastRowA = Range("B" & Rows.Count).End(xlUp).Row
    For Z = 5 To lastRowA
        If Range("B" & Z).Value <> "" Then
            Range("A" & Z).Formula = "=ROW()-4"
            Range("D" & Z).Formula = "=B" & Z & "&C" & Z & ""
            Range("E" & Z).FormulaR1C1 = "=VLOOKUP(RC[-1],機械設定!R[-2]C[12]:R[295]C[14],2,FALSE)"
        End If
    Next Z
    Application.ScreenUpdating = True
End Sub

どちらかのフォーマットで統一すれば解決すると思いますが、今回は RC フォート

で統一しました。

http://www.asahi-net.or.jp/~ef2o-inue/shiki/sub03_010_02.html

id:anim130M

回答ありがとうございました。

フォーマットの統一が必要なんですね。

2011/02/27 00:32:39

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません