因此,我是Excel/VBA的新手,並且建議您嘗試並執行拉伸任務並自動化一個過程。 我需要抓住工作表1上的每個工單ID(一次一個)並檢查它是否在第二張工作表中。然後對sheet1比較sheet1的過程相同。工單ID位於工作表的第2列。如果我在其他工作表中找不到票證ID,則需要將票證ID的整行添加到第三張工作表。自動調整非特定單元格列Excel VBA
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
我的問題是,當我得到的數據到第三片,我不能讓列正確地安裝,我無法看到所有數據。我研究並找到了AutoFit命令,但我不知道如何在我的代碼中實現它。我已經看到了AutoFit的其他實現,但編碼器總是知道他正在使用的範圍。我不知道我將數據放在哪一行。我已經包含了我嘗試過的許多實現之一:選擇行,並自動安裝我的選擇。建議? 作爲一個方面說明,我的粘貼方法也是唯一適用於我的方法,我嘗試使用pastespecial:= xlPasteValues和:= xlPasteFormats,但它也不起作用。
'行(x).Select | Selection.Columns.AutoFit'您選擇行然後嘗試自動調整列....這是它?編輯:另外,蝙蝠俠會鏈接你避免使用'select'。 – findwindow
我需要自動調整整個行的列。那只是我嘗試過的很多事情之一。從這一點我不知道該走到哪裏。我是這個語言的新手,2天前我開始了這個項目,對vba一無所知。我很抱歉,如果代碼是草率和效率低下。 – rdan1
哈哈當然蝙蝠俠是出於打擊犯罪。這對於2天有用^ _^ – findwindow