Excel VBA質問箱 IV

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

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


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

【24409】どなたかご指摘を!! ポンタ 05/4/21(木) 18:38 質問[未読]
【24416】Re:どなたかご指摘を!! ponpon 05/4/21(木) 20:35 発言[未読]
【24420】Re:どなたかご指摘を!! ポンタ 05/4/21(木) 21:32 お礼[未読]

【24409】どなたかご指摘を!!
質問  ポンタ  - 05/4/21(木) 18:38 -

引用なし
パスワード
   どなたかご指摘をしてください。

ユーザーフォームのテキストボックスに数値を入力して
セルの数値を書き換えるだけのコトなのですが、
元々、入力されている数値を書き換えようとすると、
“RangeクラスのActivateメソッドが失敗しました。”
と表示されてしまいます。

最初はなんとか動作していたのですが、
途中からテキストA〜Dを追加したら、動作しなくなりました。
書き違いがないか何度も何度も確認したのですが、
間違いはありませんでした。

ふと、根本的にコードの書き方自体がおかしいのかとも思ったのですが、
どうにもわかりません。

どなたか、ご教授お願いします。
宜しく、お願いします。

コードはちなみに以下のようになっています。
 ↓ ↓ ↓ ↓ ↓ ↓ ↓

Private Sub UserForm_Initialize()
テキストA = Worksheets("I").Cells(27, 1).Value
テキストB = Worksheets("I").Cells(15, 3).Value
テキストC = Worksheets("I").Cells(16, 3).Value
テキストD = Worksheets("I").Cells(17, 3).Value
テキストa = Worksheets("I").Cells(19, 5).Value
テキストb = Worksheets("I").Cells(20, 5).Value
テキストc = Worksheets("I").Cells(21, 5).Value
テキストd = Worksheets("I").Cells(22, 5).Value
テキストe = Worksheets("I").Cells(23, 5).Value
テキストf = Worksheets("I").Cells(24, 5).Value
ラベル1.Caption = Worksheets("I").Cells(24, 5).Value
End Sub

Private Sub テキストA_AfterUpdate()
Worksheets("I").Cells(27, 1).Activate
ActiveCell = テキストA
Dim 変数0 As Currency
On Error GoTo エラー処理へ
変数0 = テキストA
ActiveCell = 変数0
Exit Sub
エラー処理へ:
テキストA = ""
ActiveCell = ""
End Sub

Private Sub テキストB_AfterUpdate()
Worksheets("I").Cells(15, 3).Activate
ActiveCell = テキストB
Dim 変数1 As Currency
On Error GoTo エラー処理へ
変数1 = テキストB
ActiveCell = 変数1
Exit Sub
エラー処理へ:
テキストB = ""
ActiveCell = ""
End Sub

Private Sub テキストC_AfterUpdate()
Worksheets("I").Cells(16, 3).Activate
ActiveCell = テキストC
Dim 変数2 As Currency
On Error GoTo エラー処理へ
変数2 = テキストC
ActiveCell = 変数2
Exit Sub
エラー処理へ:
テキストC = ""
ActiveCell = ""
End Sub

Private Sub テキストD_AfterUpdate()
Worksheets("I").Cells(17, 3).Activate
ActiveCell = テキストD
Dim 変数9 As Currency
On Error GoTo エラー処理へ
変数9 = テキストD
ActiveCell = 変数9
Exit Sub
エラー処理へ:
テキストD = ""
ActiveCell = ""
End Sub

Private Sub テキストa_AfterUpdate()
Worksheets("I").Cells(19, 5).Activate
ActiveCell = テキストa
Dim 変数3 As Currency
On Error GoTo エラー処理へ
変数3 = テキストa
ActiveCell = 変数3
Exit Sub
エラー処理へ:
テキストa = ""
ActiveCell = ""
End Sub

Private Sub テキストb_AfterUpdate()
Worksheets("I").Cells(20, 5).Activate
ActiveCell = テキストb
Dim 変数4 As Currency
On Error GoTo エラー処理へ
変数4 = テキストb
ActiveCell = 変数4
Exit Sub
エラー処理へ:
テキストb = ""
ActiveCell = ""
End Sub

Private Sub テキストc_AfterUpdate()
Worksheets("I").Cells(21, 5).Activate
ActiveCell = テキストc
Dim 変数5 As Currency
On Error GoTo エラー処理へ
変数5 = テキストc
ActiveCell = 変数5
Exit Sub
エラー処理へ:
テキストc = ""
ActiveCell = ""
End Sub

Private Sub テキストd_AfterUpdate()
Worksheets("I").Cells(22, 5).Activate
ActiveCell = テキストd
Dim 変数6 As Currency
On Error GoTo エラー処理へ
変数6 = テキストd
ActiveCell = 変数6
Exit Sub
エラー処理へ:
テキストd = ""
ActiveCell = ""
End Sub

Private Sub テキストe_AfterUpdate()
Worksheets("I").Cells(23, 5).Activate
ActiveCell = テキストe
Dim 数値の変数7 As Currency
On Error GoTo エラー処理へ
変数7 = テキストe
ActiveCell = 変数7
Exit Sub
エラー処理へ:
テキストe = ""
ActiveCell = ""
End Sub

Private Sub テキストf_AfterUpdate()
Worksheets("I").Cells(24, 5).Activate
ActiveCell = テキストf
Dim 変数8 As Currency
On Error GoTo エラー処理へ
変数8 = テキストf
ActiveCell = 変数8
Exit Sub
エラー処理へ:
テキストf = ""
ActiveCell = ""
End Sub

【24416】Re:どなたかご指摘を!!
発言  ponpon  - 05/4/21(木) 20:35 -

引用なし
パスワード
   ▼ポンタ さん:
こんばんは。
回答ではありませんが、気になる点をいくつか。

まずTextBoxの名前がまず悪いと思います
>テキストA
>テキストa
大文字と小文字ではなく、はっきりと区別できる名前がよいと思います。
ちなみに私の環境では、設定できませんでした。

次に、
>テキストA = Worksheets("I").Cells(27, 1).Value
テキストA.text = Worksheets("I").Cells(27, 1).Value
のようにしたほうが・・・


Private Sub テキストA_AfterUpdate()
  Dim 変数0 As Currency

  Worksheets("I").Cells(27, 1) = テキストA  ’これと
      
  
  On Error GoTo エラー処理へ   
    ↑ ’どんなエラーを想定しているのでしょう
  
  変数0 = テキストA
  ActiveCell = 変数0             ’これは、同じじゃないの?
  

  Exit Sub
  エラー処理へ:
  テキストA = ""
  ActiveCell = ""
  End Sub

【24420】Re:どなたかご指摘を!!
お礼  ポンタ  - 05/4/21(木) 21:32 -

引用なし
パスワード
   ponponさん
ご指摘ありがとうございました。

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