4

私は少し助けを得ているこのコードを持っていますが、問題に遭遇したか、問題だと思います。最後のルックアップで、オブジェクトがこのプロパティまたはメソッドをサポートしていないと言われました。おそらく簡単なことだとはわかっていますが、私の脳はくすぶっています。誰かがこれがなぜ起こっているのかの答えを知っているなら、助けてほしいです。

ありがとう。

Option Explicit

Sub Update_Dakota()

    Dim wsDAO As Worksheet              'Dakota OOR
    Dim wsDAD As Worksheet              'Dakota Data
    Dim wsDAR As Worksheet              'Dakota Archive
    Dim wsPOR As Workbook               'New Workbook
    Dim lastrow As Long, fstcell As Long
    Dim strFile As String, NewFileType As String, filename As String

    Set wsDAO = Sheets("Dakota OOR")
    Set wsDAD = Sheets("Dakota Data")
    Set wsDAR = Sheets("Dakota Archive")


    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .EnableEvents = False
    End With

    lastrow = wsDAD.Range("B" & Rows.Count).End(xlUp).Row + 1

    With wsDAD
        .Range("I2").Formula = "=COUNTIFS('Dakota OOR'!$B:$B,$A2,'Dakota OOR'!$D:$D,$C2, 'Dakota OOR'!$G:$G,$F2)"
        .Range("J2").Formula = "=IF(I2,""Same"",""Different"")"
        wsDAD.Range("I2:J2").Copy wsDAD.Range("I3:J" & lastrow)
        wsDAD.Range("I:J").Calculate
    End With


    strFile = Application.GetOpenFilename()
    NewFileType = "Excel Files 2007 (*.xls)"
    Set wsPOR = Application.Workbooks.Open(strFile)
    lastrow = wsPOR.Range("A" & Rows.Count).End(xlUp).Row + 1

    wsPOR.Range("A2:G" & lastrow).Select


End Sub
4

1 に答える 1

7

エラーはこちら

lastrow = wsPOR.Range("A" & Rows.Count).End(xlUp).Row + 1

wsPOR はワークブックであり、ワークシートではありません。そのワークブックの「Sheet1」で作業している場合は、これを試してください

lastrow = wsPOR.Sheets("Sheet1").Range("A" & _
          wsPOR.Sheets("Sheet1").Rows.Count).End(xlUp).Row + 1

同様に

wsPOR.Range("A2:G" & lastrow).Select

する必要があります

wsPOR.Sheets("Sheet1").Range("A2:G" & lastrow).Select
于 2012-09-05T19:46:00.060 に答える