Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


37454 / 76732 ←次へ | 前へ→

【44443】セルの範囲への名前定義
質問  ハチ  - 06/11/16(木) 13:08 -

引用なし
パスワード
   セルの範囲への名前定義について教えてください。

Sample()で作成されるデータに
グループ分けし名前を定義したいのですが、
.CreateNames、.ApplyNames などの使い方がイマイチわかりません。
Excelの基本機能であるのでしょうか?

Name_Add()にて正常に動作するのですが
基本機能、もしくはもっと簡単に定義する方法が
あるのでしたら教えて頂きたいです。
よろしくお願い致します。


Option Explicit
'サンプルデータの作成
Sub Sample()
  Dim i As Long
  Dim r As Long
  Dim v As Variant
  
  With Application
    For i = .Names.Count To 1 Step -1
      .Names(i).Delete
    Next i
  End With
  r = 2
  With Worksheets(1)
    .Cells.ClearContents
    .Range("A1:B1").Value = Array("グループ名", "項目1")
    .Range("B1").AutoFill .Range("B1:G1")
    For Each v In Array("A", "B", "C", "D")
      Randomize
      i = Int(Rnd * 50)
      .Range(.Cells(r, 1), .Cells(r + i, 1)).Value = v
      r = r + i + 1
    Next v
    With .Range("B2:G2").Resize(r - 2)
      .Formula = "=""Data_"" & ROW()-1 & ""_"" & COLUMN()-1"
      .Value = .Value
    End With
  End With
End Sub

Sub Name_Add()
  Dim St As Long, En As Long
  Dim GrpName As String
  
  En = 2
  With Worksheets(1)
    Do While "" <> .Cells(En, 1).Value
      St = En
      GrpName = .Cells(St, 1).Value
      Do
        En = En + 1
      Loop While GrpName = .Cells(En, 1).Value
      .Range(.Cells(St, 1), .Cells(En - 1, 1)).Resize(, 7).Name = "Group_" & GrpName
    Loop
  End With
End Sub
0 hits

【44443】セルの範囲への名前定義 ハチ 06/11/16(木) 13:08 質問
【44445】Re:セルの範囲への名前定義 ハチ 06/11/16(木) 16:13 発言
【44477】Re:セルの範囲への名前定義 Kein 06/11/17(金) 15:56 回答
【44484】Re:セルの範囲への名前定義 ハチ 06/11/17(金) 20:25 お礼

37454 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free