Excel VBA質問箱 IV

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

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


237 / 13645 ツリー ←次へ | 前へ→

【81376】Findを用いた計算方法 ニッキ 20/7/8(水) 15:21 質問[未読]
【81377】Re:Findを用いた計算方法 OK 20/7/8(水) 17:19 発言[未読]
【81378】Re:Findを用いた計算方法 OK 20/7/8(水) 17:21 発言[未読]
【81379】Re:Findを用いた計算方法 OK 20/7/8(水) 20:01 発言[未読]

【81376】Findを用いた計算方法
質問  ニッキ  - 20/7/8(水) 15:21 -

引用なし
パスワード
   選択範囲から計算結果が3のセルを検索し、一番初めに該当したセルの列番号を四則算した結果を指定したセルに出力する。
上記を目的とした下記コードを書いてみたのですが、型が一致しませんとエラーを吐かれてしまいました。
変数の型について検索してみたのですが解決方法が分からず質問させていただきました。
初歩的なミスであれば大変申し訳ないのですが、ご指導よろしくお願いいたします。
Sub 時間()
  Dim x As Range
  Dim firstAddress As String
    With Range("CA15:ET20")
    Set x = .Find(What:="3", After:=("ET20"), LookIn:=xlValues, LookAt:= _
    xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
    False, MatchByte:=False, SearchFormat:=False)
      If Not x Is Nothing Then
      firstAddress = x.Column
      Range("BX47").Value = "firstAddress" - 78
      Else
      Range("BX47").Value = 0
      End If
    End With
End Sub

【81377】Re:Findを用いた計算方法
発言  OK  - 20/7/8(水) 17:19 -

引用なし
パスワード
   >"firstAddress"

""でくくると文字列になります。

>Dim firstAddress As String  

String型ではなく、Long型の方がいいと思います。

String型にこだわるのなら、

firstAddress*1

とすべきです。

【81378】Re:Findを用いた計算方法
発言  OK  - 20/7/8(水) 17:21 -

引用なし
パスワード
   あるいは

Clng(firstAddress) -78

とか。

【81379】Re:Findを用いた計算方法
発言  OK  - 20/7/8(水) 20:01 -

引用なし
パスワード
   >After:=("ET20")

After:=Range("ET20")

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