Excel 复制工作表但不复制隐藏的行/列

Excel 复制工作表但不复制隐藏的行/列,excel,vbscript,vba,Excel,Vbscript,Vba,我在同一工作簿中的两个不同工作表中有以下代码。 第一个循环持续21天,第二个循环持续整整一个月。(循环大小在每月的几天内发生变化。) 我每周运行一次以获取过去3周的信息,每月运行一次以获取整个月的信息。每周可以跨月(如2月17日至3月7日),但每月只能从每月的第一天到最后一天 我的问题是在3个星期的日子里复制得很完美。我得到了所有可见的细胞和所有隐藏的细胞。(隐藏单元格为A120至A220和T至Y列) 但是月刊上有完全相同的代码,我只得到了可见的单元格。目标工作表上的隐藏单元格为空。但它确实复制

我在同一工作簿中的两个不同工作表中有以下代码。 第一个循环持续21天,第二个循环持续整整一个月。(循环大小在每月的几天内发生变化。)

我每周运行一次以获取过去3周的信息,每月运行一次以获取整个月的信息。每周可以跨月(如2月17日至3月7日),但每月只能从每月的第一天到最后一天

我的问题是在3个星期的日子里复制得很完美。我得到了所有可见的细胞和所有隐藏的细胞。(隐藏单元格为A120至A220和T至Y列) 但是月刊上有完全相同的代码,我只得到了可见的单元格。目标工作表上的隐藏单元格为空。但它确实复制了一个月内所有日子的所有可见信息。 我复制并粘贴了周报上的代码。 这些是工作簿中唯一的复制子例程


我正在从源工作表复制相同的工作表,并将它们放在目标文件夹的相同工作表上。

是否在一张工作表上运行宏,然后选择另一张并运行它?通过向工作表中添加所有范围变量的引用,您的代码可能会得到改进(可能会解决整个问题)。开始时,您不需要指定要取消隐藏行和列的工作簿/工作表。此外,您在何处设置
DaysLoop
?)days循环在前面的子例程中设置。不过我还是把它修好了一个vb程序员(实际上是一个曾经做编程的推销员)来到店里帮我解决了问题。问题是我在不同的工作表中运行SUB,但在主模块中有变量。我把它清理干净,把所有的潜艇放在同一个模块里,这就解决了它。谢谢你的调查
Public Sub CopyDailyWorkbook()
'  dimensions variables as type
Dim SourceFileName As String    ' sets the file path of the Folder

Dim DestFileName As String
Dim Range   As Range
Dim SourceFile As Workbook   ' Sets the Source File Folder
Dim DestFile As Workbook     ' Sets the destination Folder file

' Initialsizes the variable directory
SourceFileName = FiletoCopy  ' Full Path for actual file to be copied
Set SourceFile = Workbooks.Open(SourceFileName)    ' opens the Excel file
Columns("A:Z").EntireColumn.Hidden = False    ' Unhides column's
Rows("1:500").EntireRow.Hidden = False    ' Unhides Rows

'Debug.Print " Sets file to be copied    " & SourceFileName
' copies  the Daily Report Worksheet
SourceFile.Sheets("Daily Report").Range("A3:Z500").Copy    '  Copies cells from source worksheet

SourceFile.Close SaveChanges:=False    ' Close the Excel file

' Pastes copied file into worksheet
Dim PasteDay As String
PasteDay = "Day " & DaysLoop
PasteDay = WorksheetFunction.Text(DaysLoop, "00")

ActiveSheet.Paste Destination:=Worksheets("Day " & DaysLoop).Range("A1:Z500")    ' Worksheet to paste onto
Debug.Print " Sets file to be pasted to    " & ("Day " & DaysLoop) & " date = " & FileDayName

End Sub