1

Microsoft Excel функциональный вопрос

Как мне скопировать (скопировать содержимое столбца Значения в другой столбец листа) весь столбец (с содержимым данных) с основного листа на дополнительный лист в другом столбце?

Когда основной лист обновляется (заполняется данными), значения реплицируемого столбца автоматически обновляются в столбце другого листа?

Я ожидал функцию гиперссылки без указания репликации одной ячейки по ссылке!

2 ответа2

1

Предположим, что ваши данные находятся на (основном) Sheet1!A колонке и дубликат в Sheet2!A колонке. Таким образом, вы просто введите =IF(NOT(ISBLANK(Sheet1!A1)), Sheet1!A1, "") в ячейке a1, а затем скопируйте его в оставшиеся ячейки. Надеюсь это поможет :-)

1

Это может быть сделано в Microsoft Excel с помощью пользовательского макроса («... фрагменты кода, хранящиеся в книге, которые могут автоматизировать повторяющиеся задачи и быстро привести ваши данные в порядок».) Я попытаюсь решить проблему вниз, предоставьте полезное решение и после некоторой уборки, инструкции о том, как его использовать.

Эта проблема

Давайте разберем проблему, используя произвольные имена Sheet и Column :

  • Мы дали два рабочих листов, Sheet1 и Sheet2
  • В Sheet1 содержатся значения, хранящиеся в Column A
  • Содержится в Sheet2 у нас есть Column B который может содержать или не содержать значения
  • Мы хотим, чтобы все изменения, внесенные в Sheet1:Column A автоматически копировали себя в Sheet2:Column B

Решение

Создав макрос, который запускается Worksheet_Change мы можем сделать так, чтобы макрос автоматически копировал значения, я объясню, как это работает потом:

' I have included some brief comments to help understand what is going on
' Automatically triggers when a change to a cell(s) occurs on the Sheet

Private Sub Worksheet_Change(ByVal Target As Range)
    ' Target is an object, it also tells us where the change occurred

    ' Did the change occur in column A (A = 1, B = 2, etc)?
    If (Target.Column = 1) Then
        ' Get the ROW of where the change occurred
        Dim row as Integer = Target.Row

        ' Update Sheet2 using our row, but use column B
        Sheet2.Cells(row, "B") = Target.Value
    End If

End Sub

домоводство

Пожалуйста, помните:

  • Макросы, подобные написанному выше, обычно работают только в Microsoft Excel.
  • Макросы часто являются средством передачи компьютерных вирусов, и следует проявлять осторожность, чтобы вы не включали и / или не запускали макросы из ненадежных источников - при этом, если вы решите использовать любую из предоставленных мной инструкций, вы сделаете это самостоятельно. риск
  • Макросы находятся внутри рабочей книги (электронной таблицы), в которую вы их записываете, и сохраняются каждый раз при обычном сохранении; тем не мение:
  • В современных версиях Excel вам может потребоваться сохранить рабочую книгу как файл другого типа (Excel Macro-Enabled Workbook .xlsm) для хранения вышеуказанного
  • Если вы не подписали макрос макросом (выходящим за рамки данного руководства), вам может потребоваться запускать макрос при каждой загрузке книги.

Как

Чтобы начать добавление этого макроса в рабочую книгу, необходимо загрузить сначала открытую электронную таблицу, которую вы хотите использовать, а затем запустить Microsoft Visual Basic для приложений (далее VBA) с помощью клавиш Alt + F11 .

(В этот момент я бы развернул окно VBA во избежание путаницы и возможных отвлекающих факторов)

С активным окном VBA вы увидите слева небольшое внутреннее окно с надписью

Project - VBAProject

Это обычно содержит иерархию проекта, и именно здесь мы можем добавить макросы в нашу книгу. Мы хотим добавить наш макрос - Sheet1 (Sheet1) .

Sheet1 (Sheet1) - это object именем Sheet1 который является программным представлением рабочего листа. Вы можете увидеть имя рабочего листа, которое вы обычно редактируете в Excel, в скобках, в данном случае оно также называется Sheet1.

Чтобы добавить макрос в Sheet1 вы можете либо right-click а затем щелкнуть « View Code либо просто дважды щелкнуть его, чтобы открыть его в окне « Code .

Отсюда вы можете скопировать и вставить мое решение, чтобы начать работу.

Если вы хотите написать макросы самостоятельно, я бы порекомендовал вам перейти по ссылке на первой странице, а также прочитать Введение в пользовательские макросы в Excel.

С уважением

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .