VBA-要循环日期,请转移到另一个工作表
我试图将四列从一个工作表复制粘贴到另一个工作表。其中两列包含日期,我尝试了一个基本for循环来遍历信息并将其复制到下一个工作表VBA-要循环日期,请转移到另一个工作表,vba,excel,Vba,Excel,我试图将四列从一个工作表复制粘贴到另一个工作表。其中两列包含日期,我尝试了一个基本for循环来遍历信息并将其复制到下一个工作表 For i = 2 To table4.UsedRange.Rows.Count table5.Cells(i, 1).Value = table4.Cells(i, 1).Value table5.Cells(i, 2).Value = table4.Cells(i, 5).Value table5.Cells(i, 3).Value = ta
For i = 2 To table4.UsedRange.Rows.Count
table5.Cells(i, 1).Value = table4.Cells(i, 1).Value
table5.Cells(i, 2).Value = table4.Cells(i, 5).Value
table5.Cells(i, 3).Value = table4.Cells(i, 6).Value
table5.Cells(i, 4).Value = table4.Cells(i, 7).Value
Next
然而,当我这样做时,日期并没有出现在表5上。相反,八个hashtag完全没有数字填充空间。我不确定我做错了什么,或者是否有更好的方法。表4中的日期为传统格式,如有差异,则为2015年8月7日。非常感谢您的帮助。您的代码可以正常工作
确保:
-这根柱子够宽的
-您的table5第1、2、3、4列单元格格式设置为与table4第1、5、6、7列相同的日期格式。我同意其他人的看法,这是一个列宽问题。要自动修复,请尝试以下操作:
For i = 2 To table4.UsedRange.Rows.Count
table5.Cells(i, 1).Value = table4.Cells(i, 1).Value
table5.Cells(i, 2).Value = table4.Cells(i, 5).Value
table5.Cells(i, 3).Value = table4.Cells(i, 6).Value
table5.Cells(i, 4).Value = table4.Cells(i, 7).Value
Next
table5.Range("A1:D1").Columns.AutoFit
.AutoFit会将每列的宽度调整到显示最宽单元格中所有字符所需的最小宽度。您复制的单元格是否包含任何公式,或者它们只是原始数字?可能是它复制了公式,但在新表中不起作用?不确定。您是否尝试过增加显示的列的宽度?听起来您的列太窄,无法显示数据。当Excel遇到这种情况时,它显示了避免有人在它被切断时将1000000美元错误地解释为1000美元。确保粘贴值的格式为日期格式,字体足够小,等等。这听起来肯定是列不够宽的问题。请增加列的宽度,看看这是否解决了问题。