Excel VBA質問箱 IV

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

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


5177 / 13644 ツリー ←次へ | 前へ→

【52218】範囲指定したセルに名前をつける でこ 07/10/31(水) 20:04 質問[未読]
【52219】Re:範囲指定したセルに名前をつける n 07/10/31(水) 22:11 発言[未読]
【52229】Re:範囲指定したセルに名前をつける でこ 07/11/1(木) 21:59 お礼[未読]

【52218】範囲指定したセルに名前をつける
質問  でこ  - 07/10/31(水) 20:04 -

引用なし
パスワード
   はじめまして。
ある範囲を指定して名前をつけたいのですがどうしていいかわからず
こちらに行き着きました。
どうかお知恵をおかし下さい。
あるシートのモジュールのコードです。
登録シートで入力したことを材料一覧シートに
登録していくようになってます。
そこで材料一覧シートにあらたに登録された2行(コード中の矢印のところ)を範囲指定して
登録シートにあったセルD2に入力されている言葉と同じ
名前をつけたいのですが、どのように書き足したら
良いでしょうか?
Private Sub Worksheet_Activate()
  Dim n As Long
  With Sheets("登録").ComboBox1
    .Clear
    For n = 1 To 25
      If Sheets("材料一覧").Cells(1, n) <> "" Then
        .AddItem Sheets("材料一覧").Cells(1, n)
      End If
    Next
  End With
End Sub


Private Sub CommandButton1_Click()
  Dim 目的の列 As Long, 最下行 As Long, 入力した行 As Long
  入力した行 = Cells(Rows.Count, 3).End(xlUp).Row
    If ComboBox1.Value = "" Then
      MsgBox "献立分類を選んでください。"
      Exit Sub
    End If
    If Range("D2") = "" Then
      MsgBox "献立名を入力してください。"
      Exit Sub
    End If
    If 入力した行 = 4 Then
      MsgBox "材料を入力してください。"
        Exit Sub
    End If
  With Sheets("材料一覧")
    目的の列 = WorksheetFunction.Match(ComboBox1.Value, .Rows("1:1"), 0)
    最下行 = .Cells(Rows.Count, 目的の列 + 2).End(xlUp).Row
    .Cells(最下行 + 2, 目的の列).Value = Range("D2").Value
    .Cells(最下行 + 2, 目的の列 + 1).Resize(入力した行 - 4, 2) = Range("C5:D" & 入力した行).Value          ’ ←ここの値を範囲指定してD2に入力されているものと同じ名前をつけたいのです
        
   End With
   
  With Sheets("献立名")
    目的の列 = WorksheetFunction.Match(ComboBox1.Value, .Rows("1:1"), 0)
    最下行 = .Cells(Rows.Count, 目的の列).End(xlUp).Row
    .Cells(最下行 + 1, 目的の列).Value = Range("D2").Value
    
  End With
  Range("D2,C5:D" & 入力した行).ClearContents
  
End Sub

【52219】Re:範囲指定したセルに名前をつける
発言  n  - 07/10/31(水) 22:11 -

引用なし
パスワード
   こんにちは。
>あらたに登録された2行(コード中の矢印のところ)を範囲指定して
...の範囲が
>.Cells(最下行 + 2, 目的の列 + 1).Resize(入力した行 - 4, 2)
の事だとして
.Cells(最下行 + 2, 目的の列 + 1).Resize(入力した行 - 4, 2).Name = Sheets("登録シート").Range("D2").Value
...な感じではないかと思います。

【52229】Re:範囲指定したセルに名前をつける
お礼  でこ  - 07/11/1(木) 21:59 -

引用なし
パスワード
   nさんありがとうございます。
ずいぶん難しく考えてすぎたようですね。
助かりました。

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