Excel VBA質問箱 IV

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

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


54307 / 76732 ←次へ | 前へ→

【27221】数式をVBAに置き換えたいのですが・・・
質問  はじめて娘  - 05/8/2(火) 17:40 -

引用なし
パスワード
   VBA初挑戦です。。。
以下の数式をについて、あまりにも数式が長いので、
VBAで出来ないものかな?と思い、挑戦してみることにしました。

<数式>
===============================================================
A2
=IF(COUNTIF(B2:E2,"ENG")=(COLUMNS(B2:E2)),"ENG",
IF(COUNTIF(B2:E2,"FRA")+COUNTIF(B2:E2,"ENG")=(COLUMNS(B2:E2)),"FRA",
IF(COUNTIF(B2:E2,"ITA")+COUNTIF(B2:E2,"ENG")=(COLUMNS(B2:E2)),"ITA",
IF(COUNTIF(B2:E2,"GER"),"GER",IF(COUNTIF(B2:E2,"ESP"),"ESP",
IF(COUNTA(B2:E2)=(COLUMNS(B2:E2)),"JPN",IF(COUNTA(B2:E2),"ITA","FRA")))))))
===============================================================

<コード>
================================================
Sub judgement()

Dim a As Integer  '"ENG"の数を数えていく
Dim b As Integer  '"FRA"の数を数えていく
Dim c As Integer  '"ITA"の数を数えていく
Dim d As Integer  '"GER"の数を数えていく
Dim e As Integer  '"ESP"の数を数えていく
Dim f As Integer  '"JPN"の数を数えていく
Dim i As Integer  '"列"の数を数えていく

For i = 2 To 5

  Cells(2, i).Select
  Select Case Cells(2, i).Value

    Case Is = "ENG"
      a = a + 1
    
    Case Is = "FRA"
      b = b + 1
    
    Case Is = "ITA"
      c = c + 1
    
    Case Is = "GER"
      d = d + 1
    
    Case Is = "ESP"
      e = e + 1
    
    Case Is <> "FRA"
      f = f + 1
    
  End Select
  
Next i

'B2〜E2:"ENG"=4のとき、A2="ENG"
  If a = 4 Then
    Range("A2").Value = "ENG"

'B2〜E2:"FRA"+"ENG"=4のとき、A2="FRA"
  ElseIf b + a = 4 Then
    Range("A2").Value = "FRA"
  
'B2〜E2:"ITA"+"ENG"=4のとき、A2="ITA"
  ElseIf c + a = 4 Then
    Range("A2").Value = "ITA"
 
'B2〜E2:"GER">=1のとき、A2="GER"
  ElseIf d >= 1 Then
    Range("A2").Value = "GER"

'B2〜E2:"ESP">=1のとき、A2="ESP"
  ElseIf e >= 1 Then
    Range("A2").Value = "ESP"
    
'B2〜E2:"JPN"=4のとき、A2="JPN"
  ElseIf f = 4 Then
    Range("A2").Value = "JPN"
    
'B2〜E2:"JPN">=1のとき、A2="ITA"
  ElseIf f >= 1 Then
    Range("A2").Value = "ITA"
    
'B2〜E2:上記条件以外のとき、A2="FRA"
  Else
    Range("A2").Value = "FRA"
  
  End If
  
End Sub
================================================

ですが、
B2:"-"
N2:"JPN"
O2:"JPN"
E2:"JPN"
と入力した結果、A2="JPN"にならずに、A2="ITA"になってしまいます。

どこが間違っているのか、教えていただけますでしょうか。

0 hits

【27221】数式をVBAに置き換えたいのですが・・・ はじめて娘 05/8/2(火) 17:40 質問
【27222】Re:数式をVBAに置き換えたいのですが・・・ こうちゃん 05/8/2(火) 18:42 発言
【27226】Re:数式をVBAに置き換えたいのですが・・・ はじめて娘 05/8/2(火) 20:16 回答
【27228】Re:数式をVBAに置き換えたいのですが・・・ はじめて娘 05/8/2(火) 20:18 質問
【27230】Re:数式をVBAに置き換えたいのですが・・・ こうちゃん 05/8/2(火) 20:26 発言
【27236】Re:数式をVBAに置き換えたいのですが・・・ はじめて娘 05/8/3(水) 9:15 質問
【27223】Re:数式をVBAに置き換えたいのですが・・・ ichinose 05/8/2(火) 18:43 発言
【27227】Re:数式をVBAに置き換えたいのですが・・・ はじめて娘 05/8/2(火) 20:17 質問
【27244】Re:数式をVBAに置き換えたいのですが・・・ はじめて娘 05/8/3(水) 13:37 質問
【27269】Re:数式をVBAに置き換えたいのですが・・・ ichinose 05/8/3(水) 23:43 発言
【27275】Re:数式をVBAに置き換えたいのですが・・・ はじめて娘 05/8/4(木) 9:17 お礼

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