By Ализа Филлипс в воскресенье, 08 декабря 2019 года
Опубликовано в Excel
Ответы 0
Лайк 0
Просмотры 1.5K
Голосов 0
Мне нужна помощь! Я пытаюсь создать рабочий лист, чтобы помочь в работе, за исключением того, что я не очень разбираюсь в компьютерах. Я использовал существующий код, который был волшебным, за исключением незначительной поправки, которую я не могу успешно отредактировать. Мне нужно переместить данные из выделения на листе 1 на основе значения на лист 2. Мне нужен код для удаления в определенном диапазоне, а не во всей строке. У меня есть другие данные в строке, которые я не хочу удалять. Я назвал диапазон на листе 1 "ВОССТАНОВЛЕНИЕ" (=Лист1!$A$15:$F$54), надеясь, что смогу включить это имя в код. Я не знаю, как изменить код для перемещения и удаления информации в именованном диапазоне "ВОССТАНОВЛЕНИЕ". Это исходный код, который мне нужно отредактировать:
Sub
Cheezy()
'Updated by Kutools for Excel 2017/8/28
    
Dim
xRg 
As
Range
    
Dim
xCell 
As
Range
    
Dim
As
Long
    
Dim
As
Long
    
Dim
As
Long
    
I = Worksheets(
"Sheet1"
).UsedRange.Rows.Count
    
J = Worksheets(
"Sheet2"
).UsedRange.Rows.Count
    
If
J = 1 
Then
       
If
Application.WorksheetFunction.CountA(Worksheets(
"Sheet2"
).UsedRange) = 0 
Then
J = 0
    
End
If
    
Set
xRg = Worksheets(
"Sheet1"
).Range(
"C1:C"
& I)
    
On
Error
Resume
Next
    
Application.ScreenUpdating = 
False
    
For
K = 1 
To
xRg.Count
        
If
CStr
(xRg(K).Value) = 
"Done"
Then
            
xRg(K).EntireRow.Copy Destination:=Worksheets(
"Sheet2"
).Range(
"A"
& J + 1)
            
xRg(K).EntireRow.Delete
            
If
CStr
(xRg(K).Value) = 
"Done"
Then
                
K = K - 1
            
End
If
            
J = J + 1
        
End
If
    
Next
    
Application.ScreenUpdating = 
True
End
Sub
Посмотреть сообщение полностью