Я немного устарел на VBA, но у меня есть код, который выполняет часть того, что мне нужно. У меня есть лист, заполненный распределенной формой Adobe. Имея эти данные, мне нужно найти все ячейки в определенном наборе столбцов, в которых есть данные, а затем скопировать их на новый лист. То, что у меня есть, работает нормально, за исключением того, что он копирует данные в ячейки смещения в том же листе. Мне нужно скопировать на другой лист.
Sub CopyC()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("'2020-07-09 MASTER Workplace Ins'!Z2:Z10")
For Each cel In SrchRng
If cel.Value <> "" Then
cel.Copy
' Sheets("Sheet3").Select
' Range("A1").Select
For Each cel In SrchRng
If InStr(1, cel.Value) > 0 Then
cel.Offset(5, 0).Value = "-"
End If
Next cel
End Sub
Спасибо, SJR! Я пробовал это, но теперь это дает мне ошибку во время выполнения: метод COPY класса Range завершился неудачно. Это то, на что я изменил код. Что я сделал не так?
Option Explicit
Sub CopyC()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("'2020-07-09 MASTER Workplace Ins'!Z2:Z10")
For Each cel In SrchRng
If cel.Value <> "" Then
cel.Copy Sheets("Sheet3").Range("A1").Value = "-"
' For Each cel In SrchRng
' If InStr(1, cel.Value) > 0 Then
' cel.CopySheets("Sheet3").Range("A1").Value = "-"
End If
Next cel
End Sub