1

リストを検索し、最初にスペクトル セブンを持つ列のすべてのエントリを見つけるマクロを作成しています。これは、これらのレコードを各エントリのシートにコピーすることです。

これまでのコードでは、次のように失敗します。

実行時エラー '1004': アプリケーション定義またはオブジェクト定義のエラーです。

Sub testWild()
startCell = 0
Dim FoundCell As Range
Dim LastCell As Range
Dim FirstAddr As String
cellRange = "A1:A20"
topCount = startCell
With Range("A1:A20")
Set LastCell = .Cells(.Cells.Count)
End With
Dim findString As String 
findString = "spectraseven*"
 Set FoundCell = Range(cellRange).Find(what:=findString, after:=LastCell)



If Not FoundCell Is Nothing Then
FirstAddr = FoundCell.Address
End If
Do Until FoundCell Is Nothing
    Debug.Print FoundCell.Address
Set FoundCell = Range(cellRange).FindNext(after:=FoundCell)

Count = FoundCell.Row
    Set FoundCell = Range(cellRange).FindNext(after:=FoundCell)

 --->   Sheets(1).Range("a" & topCount) = Sheets(1).Range("e" & Count)
    topCount = topCount + 1



If FoundCell.Address = FirstAddr Then
    Exit Do
End If
Loop
End Sub

矢印はエラーを指しています。

4

1 に答える 1

1

startCell0 に等しく設定します。

次に、topCount=を設定しますstartCell

topCountループを開始する前に、他に何もしません。

したがって、これは:

Sheets(1).Range("a" & topCount) = Sheets(1).Range("e" & Count)

に評価する

Sheets(1).Range("a0") = Sheets(1).Range("e" & FoundCell.Row)

セル A0 というものはありません。1から始めてみてくださいstartCell

于 2012-08-22T16:20:06.987 に答える