может кто-нибудь сказать мне, как проверить ячейку, A1 содержит 2 одинаковых номера? Пример ячейки A1 = 1124. Это то, что я имел в виду, содержит 2 одинаковых номера, и если да, то B1 будет «Да». Большое спасибо.Проверьте, есть ли у ячейки два номера
ответ
Если вы используете Excel 2010 (не тестировался в Excel 2007), для этого вам не нужен VBA. Вы можете использовать эту Формулу в B1
и скопировать ее.
=IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(1),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(2),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(3),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(4),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(5),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(6),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(7),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(8),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(9),"",2),"Yes",
IF(LOWER(A1)<>SUBSTITUTE(LOWER(A1),LOWER(0),"",2),"Yes",
"No"))))))))))
Объяснение
Формула чеки от 0 - 9
в ячейке первенствовать если это конкретное число повторно curring.
скриншоте
VBA Версия:
Sub Sample()
Debug.Print Does2NumbersMatch(Range("A1"))
End Sub
Function Does2NumbersMatch(rng As Range)
Dim i As Long
Does2NumbersMatch = "No"
For i = 0 To 9
isMatch = Application.Evaluate("=IF(LOWER(" & rng.Address & ")<>SUBSTITUTE(LOWER(" & _
rng.Address & "),LOWER(" & i & "),"""",2),""Yes"",""No"")")
If isMatch = "Yes" Then
Does2NumbersMatch = "Yes"
Exit Function
End If
Next i
End Function
Привет всем, я использую excel 07, и мне нужно использовать vba для этого. Спасибо – user388197
В этом случае см. Чернила, данные @RobertHarvey. Это должно быть достаточно для вас :) –
@ user388197: BTW Вышеуказанная формула также может использоваться в VBA –
- 1. Проверьте, есть ли у ul
- 2. Проверьте, есть ли у файла видеопоток
- 3. Проверьте, есть ли у курсора результаты
- 4. Проверьте, есть ли у DataInputStream контент
- 5. Проверьте, есть ли у ImageJ открытое изображение
- 6. Проверьте, есть ли у определенного пользователя чириканье
- 7. Проверьте, есть ли у класса атрибут?
- 8. Проверьте, есть ли у пользователя граватар [WordPress]
- 9. Проверьте, есть ли у сканера «$» char
- 10. Проверьте, есть ли у считывателя данных строки?
- 11. Проверьте, есть ли у класса метод
- 12. Проверьте, есть ли у элемента textarea
- 13. Simplecart.js Проверьте, есть ли у Simplecart_Items элементы
- 14. Проверьте, есть ли у вас служба wcf.
- 15. Проверьте, есть ли у объекта свойство
- 16. Javascript: проверьте, есть ли у объекта свойства
- 17. Проверьте, есть ли у tinyMCE контент
- 18. Проверьте, есть ли у пользователя isAdmin true
- 19. Проверьте, есть ли у пользователя объект
- 20. Проверьте, есть ли у продукта Magento Thumbnail
- 21. Проверьте, есть ли у EditText определенный символ
- 22. Как проверить, есть ли у ячейки изображение?
- 23. Проверьте, есть ли значение ячейки в другом столбце
- 24. Проверьте, нет ли телефонного номера
- 25. Проверьте, есть ли у двух коллекций общая часть
- 26. Проверьте, есть ли у объекта ключ в javascript
- 27. Проверьте, есть ли у двух объектов общие под-объекты
- 28. Проверьте, есть ли у пользователя пароль в laravel
- 29. Проверьте, нет ли ячейки .csv.
- 30. Проверьте, есть ли у окна/страницы/документа/iframe фокус
Ну, самый быстрый способ я вижу, чтобы получить там: преобразовать его в строку, а затем запустить [эту функцию] (http://www.codevba.com/visual-basic-source-code/vb-string/count_occurrences_in_a_string.htm) для каждого из символов от 0 до 9. Это некрасиво, но это работает. –
Просто любопытно. Какую версию Excel вы используете? –