Come contare una variabile con due condizioni VBA Excel

Sto lavorando ad un progetto di alloggiamento nel mio campus, Università di Illinois Urbana-Champaign.

Voglio contare sulla base di due condizioni: se la casa è una fraternità (codificata come "1") e se è in Champaign (se l'indirizzo * 61820).

Ecco la mia macro:

Sub ChampFrat() Dim Champaign As Integer Champaign = 0 If Range("$B2:$B79").Value = "1" And Range("$C2:$C79").Value = "*61820" Then Range("$B$82").Value = (Champaign = Champaign + 1) Else Range("$B$82").Value = (Champaign = Champaign + 0) End If End Sub 

Sto ottenendo un errore di tipo "non corrispondente".

Ho bisogno di creare altre cinque macro simili; uno per le fraternità ("1") in Urbana (* 61801), uno per le contingentazioni ("0") a Champaign (indirizzo * 61820), uno per le contingentazioni ("0") a Urbana (* 61801) per il count di abitazioni coinvolte ("2") a Champaign (* 61820) e una per il count delle case ("2") a Urbana (* 61801).

Ho imparato VBA e MySQL in una class e non l'ho usato molto da allora, ma voglio impararlo meglio per progetti come questo. Mi scuso per aver risposto o rispondendo ad altre domande; Non sono stato a StackOverflow per molto tempo. Ringrazio sinceramente qualsiasi aiuto.

Non è ansible assegnare un valore in VB sul lato destro di un'equazione come il tuo tentativo qui:

 Range("$B$82").Value = (Champaign = Champaign + 1) 

Cambi a questo:

 Range("$B$82").Value = Champaign + 1 

Suppongo che tu voglia controllare each valore non un integer insieme di valori contemporaneamente. Avrai bisogno di eseguire loop nell'intervallo e verificare ciascuno di essi individualmente.

 Sub ChampFrat() Dim Champaign As Integer Champaign = 0 Dim rRng As Range Set rRng = Range("$B2:$B79") For Each cell In rRng.Cells If cell.Value = "1" And cell.offset(0,1).Value Like "*61820" Then Champaign = Champaign + 1 Range("$B$82").Value = Champaign Else Range("$B$82").Value = Champaign End If Next End Sub