Nano Hash - криптовалюты, майнинг, программирование

Как сместить 2 ячейки диапазона в VBA?

Я пишу макрос, который проверяет, истинно ли значение, и если да, то берет первую ячейку строки и сохраняет ее. Например:

|191|c:users\public\test.dbf  |True |  
|192|c:users\public\test2.dbf |False|  
|193|c:users\public\test2.dbf |False|

Я хочу прокрутить этот массив, и когда значение равно True, мне нужно сохранить 191 и c:users\public\test.dbf (для этого примера фактические значения для сохранения будут зависеть от строки).

Вот мой код:

For Each strPath In Worksheets("OPTIONS").Range("F2:H6")
    newChemin = strPath
    If strPath <> True And strPath <> False Then Chemin = strPath

    If strPath.Value = "True" Then
        For Each Cell In Worksheets("OPTIONS").Range("F2:F6")
            If Cell = Chemin Then
                strChemin = Chemin
                Exit For
            End If
        Next Cell

        Set wsSheet1 = wbBook.Worksheets("DB" & strChemin)        
        If strPath.Value = "TRUE" Then
            If FichierExiste(Chemin) Then
                Line = Line + 1
            Else
                Chemin = Worksheets("OPTIONS").Cells(7, 7).Value & "\" & strChemin & "\ancretbd.mdb"
                If FichierExiste(Chemin) Then
                    '* Appel de la Method mod_Importation
                    Call Importation_Totale
                Else
                    MsgBox "Desolé, le fichié demandé n'existe pas !"
                End If
            End If
        End If
    End If
Next strPath
06.11.2012

  • Сколько раз вам нужно будет это сделать? 06.11.2012
  • пожалуйста, не кодируйте объект диапазона strPath с помощью str, так как это сбивает с толку, а не разъясняет. Измените его на (например) rPath для большей ясности. 06.11.2012
  • Итак, для справки: Chemin (французский) означает Path (английский), а FichierExiste означает FileExists. Можете ли вы также рассказать нам, как вы храните значения, которые хотите сохранить? Почему у вас есть несколько чеков для strPath.Value = "True"? Для чего нужна переменная Line? 06.11.2012

Ответы:


1

Из-за французских (??) переменных довольно сложно понять, что делает этот код. Если вы можете описать, что такое chemin, возможно, вам будет легче понять, о какой части вашего ряда вы говорите.

Однако, поскольку ваш strPath на самом деле является диапазоном, вы можете просто указать его смещение!

For Each strPath In Worksheets("OPTIONS").Range("F2:H6")
    If strPath.Value = "True" Then
        Set wsSheet1 = wbBook.Worksheets("DB" & strPath.Offset(0, -1).Value
        If FichierExiste(strPath.Offset(0, -2).Value) Then
        Line = Line + 1
        Else
            Chemin = Worksheets("OPTIONS").Cells(7, 7).Value & "\" & strChemin & "\ancretbd.mdb"
            If FichierExiste(Chemin) Then
                 '* Appel de la Method mod_Importation
                 Call Importation_Totale
            Else
                MsgBox "Desolé, le fichié demandé n'existe pas !"
            End If
        End If
    End If
Next strPath

Это может быть не на 100% правильно (потому что функция кода мне неясна), и, вероятно, смещения неверны (-1 и -2 в приведенном выше примере). Но я надеюсь, что это даст вам представление о решении вашей проблемы!

06.11.2012

2

Мне кажется, что столбец H — это столбец, содержащий TRUE или False. В этом случае, если вы хотите только проверить этот столбец и соответственно обновить столбцы F и G, этот упрощенный код может сделать эту работу за вас:

For Each strPath In Worksheets("OPTIONS").Range("H2:H6")
     If strPath.Value = "True" Then
         Range("F" & strPath.Row).Value = "191"
         Range("G" & strPath.Row).Value = "c:users\public\test.dbf"

     End If
Next
06.11.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..