如果是单元格内容的函数

时间:2016-08-24 07:15:29

标签: excel vba excel-vba

我试图检查如果某个范围的内容为真,它将执行一项功能。

    With Sheets(1).[A1:A95]
        If .Cells.Value = "text" Then
            'Perform function
        End If
    End With

但是我收到了类型不匹配错误。请帮助。

1 个答案:

答案 0 :(得分:2)

如果您正在尝试检查范围内的每个单元格,那么请尝试这种方式。

import json
import flask
import requests


app = flask.Flask(__name__)

CLIENT_ID = '123456789.apps.googleusercontent.com'
CLIENT_SECRET = 'abc123'  # Read from a file or environmental variable in a real app
SCOPE = 'https://www.googleapis.com/auth/drive.metadata.readonly'
REDIRECT_URI = 'http://example.com/oauth2callback'


@app.route('/')
def index():
  if 'credentials' not in flask.session:
    return flask.redirect(flask.url_for('oauth2callback'))
  credentials = json.loads(flask.session['credentials'])
  if credentials['expires_in'] <= 0:
    return flask.redirect(flask.url_for('oauth2callback'))
  else:
    headers = {'Authorization': 'Bearer {}'.format(credentials['access_token'])}
    req_uri = 'https://www.googleapis.com/drive/v2/files'
    r = requests.get(req_uri, headers=headers)
    return r.text


@app.route('/oauth2callback')
def oauth2callback():
  if 'code' not in flask.request.args:
    auth_uri = ('https://accounts.google.com/o/oauth2/v2/auth?response_type=code'
                '&client_id={}&redirect_uri={}&scope={}').format(CLIENT_ID, REDIRECT_URI, SCOPE)
    return flask.redirect(auth_uri)
  else:
    auth_code = flask.request.args.get('code')
    data = {'code': auth_code,
            'client_id': CLIENT_ID,
            'client_secret': CLIENT_SECRET,
            'redirect_uri': REDIRECT_URI,
            'grant_type': 'authorization_code'}
    r = requests.post('https://www.googleapis.com/oauth2/v4/token', data=data)
    flask.session['credentials'] = r.text
    return flask.redirect(flask.url_for('index'))


if __name__ == '__main__':
  import uuid
  app.secret_key = str(uuid.uuid4())
  app.debug = False
  app.run()

要测试cCell的多个值,请使用Select Case

Dim cCell As Range

For Each cCell in Sheets(1).Range("$A$1:$A$95")
    'To test to ensure cCell.Value is what you expect(can remove once working)
    Debug.Print cCell.Value
    If cCell.Value ="whateveryouwanttotestfor" Then
        'Call your function here
        Call myFunction
    End If

Next cCell