機能拡張作成サンプル

VBAの勉強をしたので覚書

列の英語名を返す奴のサンプル

Sub Main()  
    Set c = ActiveWorkbook.Sheets("シート名").Cells(2, 60)
    CAd = c.Address  

    Debug.Print (CAd)
    Debug.Print (ERow(CStr(CAd)))
    
  
End Sub

'引数:セルアドレス
'戻り値:列名(英語)
Function ERow(CellAddress As String) As String
    Dim regex
    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = "[A-Z]+"
    
    
    Dim result
    Set result = regex.Execute(CellAddress)
    
    'Debug.Print (result.Count)
    'Debug.Print (result(0).Value)
        
    Set regex = Nothing
    
    ERow = result(0).Value
End Function

シートのデータが入ってるであろう範囲を判定して 文字フォントと文字ポイントを読み取る奴のサンプル

Sub Main()

  Dim c As Range
  
  Set sheet0 = Workbooks("ブック名").Sheets("シート名")

  
  Row0 = sheet0.UsedRange.Rows.Count
  Col0 = sheet0.UsedRange.Columns.Count
  
  Debug.Print (Row0)
  Debug.Print (Col0)
  

  Set c = sheet0.Range(Cells(1, 1), Cells(Row0, Col0))
  c.Select
  

  For Each c In Selection
    Debug.Print _
      c.Address(False, False) & vbTab & _
      c.Font.Size & vbTab & c.Font.Name
  Next c

End Sub