Board logo

標題: [分享] 將cells的數字欄改為range的文字欄 [打印本頁]

作者: Min    時間: 2010-5-9 22:12     標題: 將cells的數字欄改為range的文字欄

Function Col(C%)
  Col = IIf(C < 27, "", Chr(Int((C - 1) / 26) + 64)) & IIf(C Mod 26 = 0, "Z", Chr(C Mod 26 + 64))
End Function
作者: Hsieh    時間: 2010-5-9 22:47

Function Col(C%)
  Col = IIf(C < 27, "", Chr(Int((C - 1) / 26) + 64)) & IIf(C Mod 26 = 0, "Z", Chr( ...
Min 發表於 2010-5-9 22:12



    2007已不敷使用
  1. Function ColumnName(Rng As Range)
  2. ColumnName = Split(Rng.AddressLocal, "$")(1)
  3. End Function
複製代碼

作者: mave    時間: 2016-4-11 17:22

不好意思,路過想請教一下
第二排的程式碼 ColumnName = Split(Rng.AddressLocal, "$")(1)
後面的(1) 是啥意思?

小弟學淺,希望各位大大指教
作者: c_c_lai    時間: 2016-4-11 18:50

回復 3# mave
  1. Function ColumnName(Rng As Range)
  2.     ColumnName = Split(Rng.AddressLocal, "$")(1)
  3.     '  Rng.AddressLocal : "$AB$1" : String
  4.     '  Split(Rng.AddressLocal, "$")(0) : ""   : String
  5.     '  Split(Rng.AddressLocal, "$")(1) : "AB" : String
  6.     '  Split(Rng.AddressLocal, "$")(2) : "1"  : String
  7.     '  ColumnName : "AB" : Variant/String
  8. End Function
複製代碼

作者: GBKEE    時間: 2016-4-12 05:42

回復 3# mave
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Ar As Variant, I As Integer
  4.     Ar = Array("AA", "BB", "CC")  '陣列
  5.     For I = 0 To UBound(Ar)
  6.         MsgBox Ar(I)    '陣列的第幾個元素
  7.     Next
  8.     '********Split傳回陣列
  9.     Ar = "AA_BB_CC"
  10.     For I = 0 To 2
  11.         MsgBox Split(Ar, "_")(I)   '陣列的第幾個元素
  12.     Next
  13. End Sub
複製代碼

作者: mave    時間: 2016-4-12 08:01

感謝樓上兩位大大的回答
十分感謝




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