2015-11-07 23 views
-1

在Excel中使用VBA;我在活動工作表的第1列中有姓名,我想將他們帶到他們自己的工作表中。因此,所有值爲「Name1」的單元格都將重命名爲「Name1」的工作表,並且列中所有名稱都相同。名稱的數量未設置。我不確定如何處理這個問題,因爲我剛剛開始複製到新的工作表。從第1列中取值,放上單獨的工作表

+0

1)Name1列中是否有不連續點?或將循環,直到找到一個空單元總是獲取所有記錄? 2)你需要創建一個新的工作表嗎? – alfymbohm

+0

這個問題已經在這個網站上獨自回答了很多次。這裏是[一](http://stackoverflow.com/questions/33569653/separate-excel-rows-into-individual-sheets-and-retain-header/33571637#33571637)。您需要稍微調整一下以完成您想要的功能。但是從那裏開始嘗試修復並在修改具體問題時回來。 –

回答

0

只需使用範圍End屬性來選擇相關單元格並將其值複製到工作表Name1中所需的目標列中的相應單元格。

下面我想

  1. 要複製第2行下來的名稱(例如,因爲你有一個標題行)
  2. 要複製到一個名爲名1新的工作表中的第一列從行開始2
  3. 原來的工作要從中複製是你ActiveSheet

只是將下面的代碼分配給你喜歡的任何按鈕或事件:

Sub CopyNames() 

Dim TargetRange As Range 
Dim NameSheet As Worksheet 


' Prevent Excel screen from flickering as it copies 
Application.ScreenUpdating = False 

' Set the range of data you have to copy in column A, from row 2 to the last non-empty cell 
Set TargetRange = ActiveSheet.Range("A2", ActiveSheet.Range("A2").End(xlDown)) 

' Add the worksheet and rename it 
Set NameSheet = Worksheets.Add 
NameSheet.Name = "Name1" 

' Copy and paste to the new worksheet 
TargetRange.Copy 
NameSheet.Cells(2, 1).Activate 
ActiveSheet.Paste 

' Exit Copy mode 
Application.CutCopyMode = False 

End Sub 
相關問題