首页 > 解决方案 > Excel VBA:需要更改我的代码以复制文本格式的粘贴值

问题描述

我已经在 excel 中编写了 VBA 代码,以在一个选项卡上复制特定范围并将其粘贴到自动保存的新工作簿中。

但是,我输入此文件的程序出错,因为一行需要为文本格式。我假设我可以将整个数据集更改为文本格式,这样可以缓解我的问题。代码如下。目前没有其他问题。我在一家公共会计师事务所工作,所以除了在谷歌上找到的东西之外,我不知道自己在做什么。

Sub Reset()

Worksheets("Time Entry").Range("f11:j550").ClearContents

End Sub
Sub copypaste()

Set originalSheet = ActiveSheet
    Set NewSheet = Sheets.Add(After:=ActiveSheet)
    ActiveSheet.Name = Format(Date, "MM.DD.YY")

    NewSheet.Range("a1:m490").Value = originalSheet.Range("q9:ac490").Value
    ActiveSheet.Range("A:M").Columns.AutoFit
    
Dim lr As Integer
Dim i As Integer

lr = Cells(Rows.Count, 3).End(xlUp).Row

For i = lr To 6 Step -1
Debug.Print i
If IsError(Range("c" & i).Value) Then

Rows(i).EntireRow.Delete

End If
Next i

 ActiveSheet.Move
    Set NewWb = ActiveWorkbook
    
ActiveWorkbook.SaveAs Filename:=Environ("USERPROFILE") & "\Desktop\Time Tracker\" & NewFileName & Format(Date, "MM.DD.YY") & ".xlsx", FileFormat:=xlOpenXMLWorkbook

Exit Sub

ThisWorkbook.Close SaveChanges:=False

ErrorTrap:
MsgBox "Invalid directory. You must correct the path or save manually."
Resume Next
    
End Sub

标签: excelvba

解决方案


推荐阅读