標題:
[發問]
如何在特定位置自動加一?
[打印本頁]
作者:
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
Option Explicit
Sub Ex()
Dim Ar, xi As Integer, E As Range
With ActiveSheet.Range("b:b") ' ActiveSheet 可改成->Sheets("SHEET1")
Ar = .Value
.Cells.Replace "姓名", "=1/0", xlWhole
.SpecialCells(xlCellTypeFormulas, xlErrors).Name = "姓名"
.Value = Ar
xi = 1
For Each E In [姓名]
E.Offset(, -1) = xi
xi = xi + 1
Next
ActiveWorkbook.Names("姓名").Delete
End With
End Sub
複製代碼
作者:
register313
時間:
2012-6-2 10:54
回復
3#
yozcbm
Sub XX()
C = 0
With Sheets("Sheet1").[B:B]
Set Rng = .Find("姓名", , , xlWhole)
If Not Rng Is Nothing Then
Findaddress = Rng.Address
Do
C = C + 1
Rng.Offset(, -1) = C
Set Rng = .FindNext(Rng)
Loop While Not Rng Is Nothing And Rng.Address <> Findaddress
End If
End With
End Sub
複製代碼
作者:
Hsieh
時間:
2012-6-2 11:11
回復
3#
yozcbm
Sub ex()
With Range([A1], Cells(Rows.Count, 2).End(xlUp).Offset(, -1))
.FormulaR1C1 = "=IF(RC[1]=""姓名"",COUNTIF(R1C2:RC2,""姓名""),"""")"
.Value = .Value
End With
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)