自动调整非特定的单元格列Excel VBA

所以我是新来的Excel / VBA,并build议尝试和承担一个伸展的任务和自动化的过程。 我需要获取表单1(每次一个)的每张票证号码,并检查是否在第二张表格中。 然后与sheet1比较sheet1的过程相同。 工单ID位于工作表的第2列。 如果我在其他工作表中找不到票证ID,则需要将票证ID的整行添加到第三张工作表。

Dim i As Integer, TicketId As Range, CellId As Range Dim SearchRange1 As Range, SearchRange2 As Range Dim rowCount1 As Integer, rowCount2 As Integer, x As Integer x = 1 'Get row counts from both sheets and set search ranges## Sheets("Sheet1").Select rowCount1 = Range("A2", Range("A2").End(xlDown)).Count Set SearchRange1 = Range("B2", Range("B2").End(xlDown)) Sheets("Sheet2").Select rowCount2 = Range("A2", Range("A2").End(xlDown)).Count Set SearchRange2 = Range("B2", Range("B2").End(xlDown)) 'loop to compare differences in sheet1 to sheet2 and add to third sheet## For i = 2 To rowCount1 Sheets("Sheet1").Select Set TicketId = Cells(i, 2) Set CellId = SearchRange2.Find(What:=TicketId) If CellId Is Nothing Then Rows(i).Select Selection.Copy Sheets("Sheet3").Select Cells(x, 1).Select Cells(x, 1).PasteSpecial Rows(x).Select Selection.Columns.AutoFit 'Cells(x, 1).Value = TicketId.Value## x = x + 1 End If Next i 'Sheets("Sheet2").Select## Application.CutCopyMode = False 

我的问题是,当我得到的数据到第三张,我不能让列正确,我看不到所有的数据。 我研究并find了AutoFit命令,但我不知道如何在我的代码中实现它。 我已经看到了AutoFit的其他实现,但是编码器总是知道他正在使用的范围。 我不知道我把数据放在哪一行。 我已经包括了我尝试过的许多实现之一:select行,并自动安装我的select。 build议? 作为一个方面说明,我的粘贴方法也是唯一一个适合我的方法,我尝试使用pastespecial:= xlPasteValues和:= xlPasteFormats,但它也不起作用。

如果您不确定范围,请考虑在整个工作表上使用AutoFit。

 ThisWorkbook.Worksheets("Sheet3").columns.autofit