Excel VBA質問箱 IV

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

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


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

【43189】固定内容との比較方法について 質問(煮詰まった) 06/10/5(木) 11:15 質問[未読]
【43190】Re:固定内容との比較方法について Jaka 06/10/5(木) 12:09 発言[未読]
【43191】Re:固定内容との比較方法について Jaka 06/10/5(木) 12:22 発言[未読]
【43266】Re:固定内容との比較方法について 質問(煮詰まった) 06/10/7(土) 15:45 お礼[未読]

【43189】固定内容との比較方法について
質問  質問(煮詰まった)  - 06/10/5(木) 11:15 -

引用なし
パスワード
   教えて下さい。
セルの項目と固定の内容が一致したら計算させたいのですが
コマンド方法がよくわかりません。
COBOLなどならSERCH命令で検索するのですが
エクセルではどのようにしていいのか判らなかったので
IF文で記載してみました。
もっとすっきりできないものか教えて下さい。
宜しくお願いします。

内容)
 Aのセルの内容が固定値1orEと一致してBのセルの上1桁が3
 の場合ワークで合計を計算する。

 この固定値、1orEは増加の可能性があり毎回or文で追加するのも
 手間がかかる 
  
If (Cells(i, 3).Value = "1" Or Cells(i, 3).Value = "E") And Mid(Cells(i, 2), 1, 1) = "3" Then
      gok11 = gok11 + Cells(i, 4).Value

【43190】Re:固定内容との比較方法について
発言  Jaka  - 06/10/5(木) 12:09 -

引用なし
パスワード
   >COBOLなどならSERCH命令で検索するのですが
さっき聞いてきました。
なんかエクセルの検索っぽかったみたいですね。
Orで良いと思いますけどね、どんな手間かわからないけど....。

1、
Dim ary As Variant, kekka As Variant
ary = Array(1, "E")
kekka = Application.Match(Cells(1, 1).Value, ary, 0)
If Not IsError(kekka) Then
  If Mid(Cells(i, 2), 1, 1) = "3" Then
 
  End If
End If

2、
Dim st As String
st = "1E"
If InStr(1, st, Cells(1, 1).Value) > 0 Then
  If Mid(Cells(i, 2), 1, 1) = "3" Then
 
  End If
End If

3、COBOLなどならSERCH命令にこだわるなら
Dim st As String, kekka As Variant
st = "1E"
kekka = Application.Search(Cells(1, 1).Value, st, 1)
If Not IsError(kekka) Then
  If Mid(Cells(i, 2), 1, 1) = "3" Then
 
  End If
End If

【43191】Re:固定内容との比較方法について
発言  Jaka  - 06/10/5(木) 12:22 -

引用なし
パスワード
   (注意)
>1、
>Dim ary As Variant, kekka As Variant
>ary = Array(1, "E")
>kekka = Application.Match(Cells(1, 1).Value, ary, 0)

Matchの場合、セルの内容が数値なのか、文字の数字なのかで結果が違うから、
それに合わせて
ary = Array("1", "E")
と、したり、
ary = Array(1, "1", "E")
と、いった具合に変える。

【43266】Re:固定内容との比較方法について
お礼  質問(煮詰まった)  - 06/10/7(土) 15:45 -

引用なし
パスワード
   ▼Jaka さん:

項目3でうまくいきました。
助かりました。

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