[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『型が一致しません13』(あ)
Sub 名前けし()
If Range("AB15:AB250").Value = "名前" Then
Range("AB5").ClearContents
ElseIf Range("AB15:AB250").Value = "名前2" Then
Range("AB5").ClearContents
Else
Range("AB5").Value = "名前"
End If
End Sub
型が一致しませんと表示されたんですがどこが間違っているか分からず…
< 使用 Excel:unknown、使用 OS:unknown >
参考
https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.value
(ゆたか) 2023/09/27(水) 14:53:26
If Range("AB15:AB250").Value = "名前" Then
等号の左辺は配列で、右辺が単数値だからでは。(ワークシート上の数式じゃないですからねぇ)
一体、それで何をやりたい(判定したい)のですか?
(半平太) 2023/09/27(水) 14:55:55
・・という事は、山田さんの名前は、初めはAB5に入っているってことですよね?
すると、こんな事かな?
Sub 名前けし()
Dim targetName
targetName = Range("AB5").Value
If Application.CountIf(Range("AB15:AB250"), targetName) Then
Range("AB5").ClearContents
ElseIf Application.CountIf(Range("AB15:AB250"), targetName & "半休") Then
Range("AB5").ClearContents
End If
End Sub
(半平太) 2023/09/27(水) 15:14:34
>因みに関数でもできますか
ワークシート関数でセルをクリアにするなんて事はできません。 (ユーザー定義関数なら可能・・まぁ、実体はVBAですからねぇ・・)
Sub 名前けし()
Dim targetCell As Range
For Each targetCell In Range("AB5:AB14")
If targetCell <> "" Then '空白ならスキップ
If Application.CountIf(Range("AB15:AB250"), targetCell) Then
targetCell.ClearContents
ElseIf Application.CountIf(Range("AB15:AB250"), targetCell.Value & "半休") Then
targetCell.ClearContents
End If
End If
Next
End Sub
※実地テストはしておりません。あしからず。
(半平太) 2023/09/27(水) 15:47:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.