0

私はマクロとそれらを記録するのが初めてです。選択したセルに基づいてクエリの一部を編集するパラメーターを使用して webquery を作成しました。この Web クエリを 800 回以上実行する必要があります。そこで、「相対参照を使用する」にチェックを入れて自分で記録しました。ただし、Web クエリ用に選択したセルの隣のセルではなく、常にマクロを記録したのと同じセルに Web クエリを配置します。

例: A1 の参照に基づいて A2 でクエリを実行しています。そのため、マクロで B1 からの情報を使用してクエリを実行し、それを B2 に入れたいのですが、常に A2 に入れられます。

コード!

With ActiveSheet.QueryTables.Add(Connection:= _
"FINDER;C:\Users\alillien.ASSOCIATED_NT\AppData\Roaming\Microsoft \Queries\990Finder.iqy" _
    , Destination:=Range("$C$576"))
    .Name = "990 Finder_284"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = False
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlSpecifiedTables
    .WebFormatting = xlWebFormattingAll
    .WebTables = """MainContent_GridView1"""
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
End With
ActiveCell.Offset(2, 0).Range("A1").Select
End Sub

「Destination:=Range("$C$576")」行が原因であることはわかっていますが、開始点/調整可能なクエリをクリックした場所に相対的になるように編集する方法がわかりません。

どうもありがとうございました!

4

2 に答える 2

0

OK、これを試すことができます。

交換:

範囲("$C$576")

と:

ActiveCell.Offset(1,0)

これにより、現在 $C$576 として参照されている範囲が効果的にシート内のアクティブ セルに変更されますが、セルが 1 つ下になります (これが必要だと思います)。1 つのセルを正しくしたい場合は、(0,1) に変更します。

于 2013-08-30T21:05:41.320 に答える