2009-11-02 3 views
0

Excel 시트에 숫자 목록이 있습니다. 나. 하나의 열은 약 20 행의 숫자입니다. 그것의 호출 된 목록을 말하자면 그때 나는 C 열 몇 가지 목록 A의 숫자를 포함 할 수있는 여러 행을 여러 열 Excel sheet2가 있습니다. 어떻게 목록 C 열에있는 숫자를 포함 Excel2에서 행을 삭제할 수나열된 번호가 포함 된 행을 Excel에서 삭제하기

답변

3

ADO (http://support.microsoft.com/kb/257819)를 통해 Excel에서 행을 실제로 삭제할 수는 없지만 삭제할 행이 포함되지 않은 새 시트를 만들 수 있습니다. 열 제목과 명명 된 범위를 사용하면이 작업이 훨씬 쉬워집니다. 는 SQL은 [시트 N $]

strFile = Workbooks(1).FullName 
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _ 
    & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";" 

Set cn = CreateObject("ADODB.Connection") 
cn.Open strCon 
Set rs = CreateObject("ADODB.Recordset") 

strSQL = "SELECT x.F1, x.F2, x.F3, x.F4, x.F5 FROM [Sheet1$] As x " _ 
     & "LEFT JOIN " _ 
     & "[Sheet2$] As y " _ 
     & "ON x.F3=y.F1 " _ 
     & "WHERE y.F1 Is Null" 

rs.Open strSQL, cn 

For i = 0 To rs.Fields.Count - 1 
    Sheets("Sheet3").Cells(1, i + 1) = rs.Fields(i).Name 
Next 

Sheets("Sheet3").Cells(2, 1).CopyFromRecordset rs 
0

비로서 F N (기본값)과 같은 다양한 열 및 시트를 의미하므로 다음 열 제목 또는 범위를 포함하지 않는 예이고, 이 작업을 수행하는 VBA 방법은 다음과 같습니다

  • 그 숫자 만들 목록
  • 에 새로운 사용자 지정 목록 번호를 선택 Tools>Options을 다음 Custom Lists 2003
  • Excel에서 목록 A를 행의 모든 ​​이제 상단에 함께 그룹화됩니다

새 사용자 지정 목록에 First key sort order을 변경 한 후 Data>Sort, Options과 : 6,

  • 는 시트 2 및 정렬 열 C를 새 사용자 지정 목록을 사용하여로 이동 (또는 내림차순으로 정렬하는 경우 아래쪽에) 목록을 삭제 한 다음 삭제할 수 있습니다.

  • 관련 문제