1. VisualBasic / Говнокод #2990

    −125.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    Sub Макрос2()
        Dim pos0, pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9, digitPos As Integer
    
        For Counter = 2 To 999999
            digitPos = 1000
        
            Set curCell = Worksheets("Лист1").Cells(Counter, 5)
            Set primCell = Worksheets("Лист1").Cells(Counter, 6)
        
            pos0 = InStr(1, primCell.Value, "0")
            pos1 = InStr(1, primCell.Value, "1")
            pos2 = InStr(1, primCell.Value, "2")
            pos3 = InStr(1, primCell.Value, "3")
            pos4 = InStr(1, primCell.Value, "4")
            pos5 = InStr(1, primCell.Value, "5")
            pos6 = InStr(1, primCell.Value, "6")
            pos7 = InStr(1, primCell.Value, "7")
            pos8 = InStr(1, primCell.Value, "8")
            pos9 = InStr(1, primCell.Value, "9")
            
            If pos0 > 0 And pos0 < digitPos Then
                digitPos = pos0
            End If
            
            If pos1 > 0 And pos1 < digitPos Then
                digitPos = pos1
            End If
            
            If pos2 > 0 And pos2 < digitPos Then
                digitPos = pos2
            End If
            
            If pos3 > 0 And pos3 < digitPos Then
                digitPos = pos3
            End If
            
            If pos4 > 0 And pos4 < digitPos Then
                digitPos = pos4
            End If
            
            If pos5 > 0 And pos5 < digitPos Then
                digitPos = pos5
            End If
            
            If pos6 > 0 And pos6 < digitPos Then
                digitPos = pos6
            End If
            
            If pos7 > 0 And pos7 < digitPos Then
                digitPos = pos7
            End If
            
            If pos8 > 0 And pos8 < digitPos Then
                digitPos = pos8
            End If
            
            If pos9 > 0 And pos9 < digitPos Then
                digitPos = pos9
            End If
            
            'MsgBox Left(primCell.Value, digitPos - 1)
            
            curCell.Value = Trim(Left(primCell.Value, digitPos - 1))
        Next Counter
    End Sub

    Я идиот и не умею программировать в excel!!
    Мне надо было отрезать текст до первой цифры в одной ячейке и засунуть его в другую.
    Наверное, надо было почитать про массивы в VB

    Запостил: striker, 12 Апреля 2010

    Комментарии (9) RSS

    • судя по последним страницам, бОльшую часть говнокода составляют брутфорсы

      предлагаю кроме (b? true: false) сделать импичмент брутфорсам, потому що они один одинаковее другого
      Ответить
    • Кстати, отличным лекарством будет отключить копирование/вставку в редакторе. Человек либо набирать руками будет, либо будет придумывать что-то без копипейста.
      (Не могу, на работе копипейстеры задолбали!)
      Ответить
      • А за повторение в коде группы строк бросать крокодилам =3
        Ответить
        • Это для индийцев? Национальная специфика. У нас поди этих крокодилов еще сыщи...
          Ответить
      • Принято к разработке =)
        Ответить
    • Да простит меня достопочтенная публика, мне надо было просто один раз пробежаться по всему листу и забыть, так что быстрее было накопипастить, чем читать, как там работают циклы. В общем, мажусь :)
      Ответить
      • Вам нужно больше программировать на С++.
        Ответить
    • Сурово!
      Ответить

    Добавить комментарий