Board logo

標題: [發問] 如何在特定位置自動加一? [打印本頁]

作者: yozcbm    時間: 2012-6-2 01:41     標題: 如何在特定位置自動加一?

本帖最後由 yozcbm 於 2012-6-2 03:21 編輯

例如我有一堆員工資料,假設我想在"姓名"左邊加上順序編號
e.g.
姓名xxxxxxxxxxxxx
xxxxxxxxxxxxxxx
姓名xxxxxxxx
xxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxx
姓名xxxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxx
加編號後變成:
1姓名xxxxxxxxxxxxx
xxxxxxxxxxxxxxx
2姓名xxxxxxxx
xxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxx
3姓名xxxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxx
.
.
.
p.s.每個姓名中間之行數並不相同,,

我剛學識了if function,,
eg.=IF(B1="姓名",1,"")
如果這樣再向下拉的話只能每個姓名旁邊出現"1"
而我問題是如何多一個"姓名"出現就加一?
thx so much~

另外一個問題是,如果excel內有很多行數的資料,而我要copy (let say 5000直行,要包括整橫行,不是A1:A5000),,怎樣才能比較快捷的向下copy? (只用向下拉的方法每次copy都很慢><)
作者: GBKEE    時間: 2012-6-2 07:34

回復 1# yozcbm
上傳你的檔案看看
作者: yozcbm    時間: 2012-6-2 09:55

[attach]11227[/attach]

uploaded~thx~
作者: oobird    時間: 2012-6-2 10:28

=IF(B4="姓名",COUNTIF(B$4:B4,"姓名"),"")
作者: GBKEE    時間: 2012-6-2 10:40

回復 3# yozcbm
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Ar, xi As Integer, E As Range
  4.     With ActiveSheet.Range("b:b")   ' ActiveSheet  可改成->Sheets("SHEET1")
  5.         Ar = .Value
  6.         .Cells.Replace "姓名", "=1/0", xlWhole
  7.         .SpecialCells(xlCellTypeFormulas, xlErrors).Name = "姓名"
  8.          .Value = Ar
  9.         xi = 1
  10.         For Each E In [姓名]
  11.             E.Offset(, -1) = xi
  12.             xi = xi + 1
  13.         Next
  14.         ActiveWorkbook.Names("姓名").Delete
  15.     End With
  16. End Sub
複製代碼

作者: register313    時間: 2012-6-2 10:54

回復 3# yozcbm
  1. Sub XX()
  2. C = 0
  3. With Sheets("Sheet1").[B:B]
  4.   Set Rng = .Find("姓名", , , xlWhole)
  5.   If Not Rng Is Nothing Then
  6.     Findaddress = Rng.Address
  7.     Do
  8.       C = C + 1
  9.       Rng.Offset(, -1) = C
  10.       Set Rng = .FindNext(Rng)
  11.     Loop While Not Rng Is Nothing And Rng.Address <> Findaddress
  12.   End If
  13. End With
  14. End Sub
複製代碼

作者: Hsieh    時間: 2012-6-2 11:11

回復 3# yozcbm
  1. Sub ex()
  2. With Range([A1], Cells(Rows.Count, 2).End(xlUp).Offset(, -1))
  3. .FormulaR1C1 = "=IF(RC[1]=""姓名"",COUNTIF(R1C2:RC2,""姓名""),"""")"
  4. .Value = .Value
  5. End With
  6. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)