Как я могу сделать так, чтобы мой код работал в разных столбцах Excel? - PullRequest
0 голосов
/ 12 марта 2020

прямо сейчас я использую макрос VBA для загрузки изображений из файла моего компьютера в документ Excel.

Предполагается, что номера ссылок из ячеек столбца А вставляются в соответствующие изображения. соответствующая ячейка в столбце B.

Я бы хотел, чтобы мой макрос работал в большем количестве ячеек. Так что у меня также есть ссылочные номера в столбце C, E, G ... и изображения вставляются в столбцы D, F, H ....

Как мне изменить эти коды, чтобы они также работали в других столбцах? Некоторые l oop, другие формулы?


 Range("A1").Offset(1,0)
    Range("B1").Activate

      endRow = Range("A65536").End(xlUp).Row

      For rowLoop = 2 To endRow

         fileName = Trim(Cells(rowLoop, "A")) & ".png"

         If (Dir(folderName & fileName) <> "") Then

            ActiveSheet.Shapes.AddPicture folderName & fileName, msoFalse, msoTrue, Cells(rowLoop, "B").Left, Cells(rowLoop, "B").Top, _
                                          Cells(rowLoop, "B").Width, Cells(rowLoop, "B").Height



sThanks in advance for your answers! 

1 Ответ

0 голосов
/ 12 марта 2020

Здесь в примере l oop через ваши столбцы и всегда переходите на 2 столбца

Option Explicit

Public Sub Example()
    Const LastRow As Long = 5 'just for the example

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")

    Dim iCol As Long
    For iCol = 1 To 8 Step 2 'loop through column 1 to 8 and jump 2 steps
        ws.Cells(1, iCol).Value = "read"       'column A, C, E, G
        ws.Cells(1, iCol + 1).Value = "write"   'column B, D, F, H

        'so here you would write your code that loops through the rows like
        Dim iRow As Long
        For iRow = 2 To LastRow
            ' and use iRow as row number
            ws.Cells(iRow, iCol).Value = "read" & iRow       'column A, C, E, G
            ws.Cells(iRow, iCol + 1).Value = "write" & iRow   'column B, D, F, H
      Next iRow
    Next iCol
End Sub

Результат будет таким, как показано ниже:

enter image description here Изображение 1: обратите внимание, что оно анимировано и замедлено, чтобы показать процесс, который происходит на каждом шаге.

Надеюсь, что это поможет вам узнать, как это сделать с вашим кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...