|
VBAを勉強しはじめたばかりで
サンプルを応用して自分なりに作っているため、
ちょっと質問の仕方が悪かったと思い反省しています。
>ワークシートモジュールに記述していますよね?
はい。標準モジュールのコードも下記に書いています。
>私は、Excel2002 SP3で、A1に「佐藤」と入力すると何も表示されませんし、「VBA」と入力すると「名前が見つかりません」と表示されました。
>ちなみに以下のようなコードにするとどうなりますか?
佐藤や田中、森と入力しても名前がみつかりませんと表示されてしまい、
セルA3に入力しているようにしているのですが、そこで名前を消したりすると、
入力チェック範囲外と表示されてしまいます。エクセル2000です。
>Targetのアドレスがどうなっているのかな?と。
Targetが引数というのはわかるのですが、意味をわからず使用しているため、
ただ単に名前のチェックを行いたいという希望のもと使用しています。
ちなみにステップ実行を行うと
.Range("B3") = Date
の所で黄色くなり、シートモジュールにとびます。
Option Explicit
Sub 新清算書シート作成()
'' 新清算書シート作成 Macro
' 新しいシートに交通費清算書を作成する
Dim NewSheet As Worksheet
Dim myno As String
Dim 年
Dim 月
Dim 日
On Error Resume Next
Call シートの追加
Set NewSheet = Sheets(2)
With Worksheets("メニュー")
.Range("B3") = Date
年 = CStr(Year(.Range("B3").Value))
月 = CStr(Month(.Range("B3").Value))
日 = CStr(Day(.Range("B3").Value))
NewSheet.Name = .Range("A3").Value & 年 & 月 & 日
NewSheet.Range("D4").Value = .Range("A3").Value
NewSheet.Range("F4").Value = .Range("B3").Value
End With
End Sub
Public Sub シートの追加()
Dim NewSheet As Worksheet
Sheets("新清算書").Copy Before:=Sheets(2)
Set NewSheet = Sheets(2)
End Sub
|
|