当前位置: 首页 > 知识库问答 >
问题:

将整行复制到新图纸,并根据单元格值更改单元格值

艾子石
2023-03-14

有人能帮忙吗?我有一个现有代码,该代码当前根据V列中的单元格值(上诉记录)将整行数据从一张表(质量日志)复制到另一张表(上诉日志)。

之前,它已经从原始(质量日志)表中删除了该行,但我现在希望更改代码,以便将单元格值更改为(正在上诉),然后将其移动到下一页(上诉日志)。

请参阅下面我的代码。我已用**表示我试图更改代码

    Dim xRg As Range
    Dim xCell As Range
    Dim i As Long
    Dim j As Long
    Dim K As Long
    i = Worksheets("Quality Log").UsedRange.Rows.Count
    j = Worksheets("Appeal Log").UsedRange.Rows.Count
    If j = 1 Then
       If Application.WorksheetFunction.CountA(Worksheets("Actioned").UsedRange) = 0 Then j = 0
    End If
    Set xRg = Worksheets("Quality Log").Range("V3:I" & i)
    On Error Resume Next
    Application.ScreenUpdating = False
    For K = 1 To xRg.Count
        If CStr(xRg(K).Value) = "Appeal Logged" Then
            xRg(K).EntireRow.Copy Destination:=Worksheets("Appeal Log").Range("A" & j + 1)
            **xRg(K, 22).Value = "Under Appeal"**
            
            'xRg(K).EntireRow.Delete
            If CStr(xRg(K).Value) = "Appeal Logged" Then
                K = K - 1
            End If
            j = j + 1
        End If
    Next
   
'Call ResizeArchiveTable
      
    Application.ScreenUpdating = True
End Sub```



Any and all help is much appreciated. 

共有1个答案

龚俊捷
2023-03-14
Sub CopyData()
    
    Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containing this code
    
    Dim sws As Worksheet: Set sws = wb.Worksheets("Quality Log")
    Dim slRow As Long: slRow = sws.UsedRange.Rows.Count
    Dim srg As Range: Set srg = sws.Range("V3:V" & slRow)
    
    Dim dws As Worksheet: Set dws = wb.Worksheets("Appeal Log")
    Dim dlRow As Long: dlRow = dws.UsedRange.Rows.Count
    Dim drrg As Range: Set drrg = dws.Rows(dlRow)
    
    Application.ScreenUpdating = False
    
    Dim sCell As Range
    Dim drCount As Long
    
    For Each sCell In srg.Cells
        If CStr(sCell.Value) = "Appeal Logged" Then
            sCell.Value = "Under Appeal"
            drCount = drCount + 1
            sCell.EntireRow.Copy drrg.Offset(drCount)
        End If
    Next sCell
    
    Application.ScreenUpdating = True

    MsgBox "Rows copied: " & drCount, vbInformation

End Sub
 类似资料:
  • 问题内容: 我的站点读取一个XML文件,该文件包含数据表的信息(值)。我使用CSS设置表格样式,并且一切正常。 为了获得更好的用户体验,我想知道是否有可能根据其值动态更改每个单元格的背景颜色? 例如: 每个包含小于5的数字的单元格都有红色背景色; 每个大于等于“ 5”的单元格具有绿色背景色。 我对此的第一个解决方案是使用Javascript-但我想知道是否有办法仅使用CSS样式来解决此问题? 问题

  • 我对Excel VB脚本非常陌生,我正在寻找有关如何将特定单元格数据复制到带有表格的新工作表中并在每次按下复制按钮时添加新行的信息。让我尝试更好地解释我有1个名为值的工作表和一个名为数据的工作表 Excel 2013版 单元格A2、H17、H19、H21、H23、H25、H27、H29、H31、H33、H35和H37中的价值表信息 数据表 Tablename:SurveyData表头名称AGran

  • 我有一个jtable保存账本文件记录并将它们发送出去。

  • 我正在尝试创建一个代码,在一个单元格中搜索诸如“蓝色”之类的颜色值,如果在该单元格中找到该值,请将该值粘贴到另一个单元格,然后在几百种颜色的范围内重复此操作。 一旦发生这种情况,对该列中的下一个单元格再次执行相同的过程,并粘贴到相应行中的另一个单元格中,直到对每个填充的单元格都搜索了所有颜色值。 我已经获得了创建Excel工作表的代码,该工作表将提取一些预定义的值,但我不确定如何扩展代码以包含数百

  • 我试图根据任意单元格的值,获取从E到BH的特定范围内的整行数据。例如,如果单元格P,3上的值为“红色”,则我希望选择从E3到BH,3的整个范围。 此外,如果F9中的单元格上有值“黄色”,我希望选择从E9到BH9的整行 到目前为止,我一直在尝试从字符串“my text”中获取行,但它不起作用。我计划以与类似的方式获取行和列,以便根据文本获取从e(行)到bh(行)的行