2016-07-13 7 views
1

Я искал это на google, но не повезло. У меня есть несколько листов в моей книге excel, а один лист - как «сводная» страница. Я хочу, чтобы данные из других листов обновлялись на моей итоговой странице. Всякий раз, когда кто-то добавляет строку или добавляет новые данные, я бы хотел, чтобы она перешла на итоговую страницу.Копирование данных Excel с одного листа на другой лист

Другими словами, у меня есть Sheet A, Sheet B и Sheet C. Я хочу, чтобы все их данные отображались на Sheet D и для Sheet D для обновления всякий раз, когда Sheet A, Sheet B, или Sheet C изменений.

enter image description here

Возможно ли это?

+0

Как данные из всех листов должны быть orgenized в листовом D? – EBH

+0

Просто нужно складывать на eachother и отображать весь контент, как на листе A, B & C, только друг над другом – user3151956

ответ

0

ОБНОВЛЕНИЕ: Этот ответ основан на непонятом вопросе.

Можно:

=SUM(B1:B8, Sheet1!B3:B8) 

Где Sheet1 еще один лист в то же первенствует файл.

Это самый простой пример для SUM.

Вы можете посмотреть this учебник.

+0

Привет, спасибо за ответ. Извините, я должен был быть более ясным. Это не только номера, которые указаны в другой паспорте, но и контент. Таким образом, у нас есть комбинация чисел, текста и дат, проходящих через одну строку. Мы просто хотим, чтобы все эти данные отображались в Sheet D – user3151956

+0

Как насчет этой ссылки: http://answers.microsoft.com/en-us/office/forum/office_2007-excel/how-do-i-mirror-worksheets- так, если-я-изменение-один/4a64f964-a9a7-4ca9-b7a2-df4765b92e36? AUTH = 1? – mtb

+0

К сожалению, это решение не сработало, я прошел через поток, и похоже, что он работает для отдельных листов Excel в разных файлах. Я ищу что-то, что буквально возьмет содержимое листов A, B и C и отобразит все содержимое на листе D и отразит любые обновления, если обновлены листы A, B и C. – user3151956

0

Я не буду чистым, но если вы можете использовать его в SheetD A1 и перетащите его. =if(SheetA!A1="","",SheetA!A1)

Если ваша ячейка пуста, она ничего не покажет. Если он содержит что-либо, он появится.

Не уверен, что листы «конкурируют» друг с другом или имеют разные вещи. Другими словами, у вас есть значение в SheetA A1 И SheetB A1? Если это так, как вы хотите, чтобы он реагировал?

+0

Эй, я ценю ваш комментарий. К сожалению, это, похоже, не помогло. Я пробовал это, но то, что мне нужно, - это то, что буквально возьмет все содержимое листа A AND Sheet B AND Sheet C и просто отобразит их поверх друг друга в Sheet D - So Sheet D буквально имеет содержимое листов A, B и C, просто уложенных друг на друга. И если бы мы добавили еще одну строку в лист a, было бы идеально, если бы она добавила строку в лист D. Надеюсь, что помогает – user3151956

+0

да, у меня есть решение для этого. но прежде чем я опубликую, что вы хотите увидеть на листе D A1, если у вас есть значения во всех листах в позиции A1? – Nickstoy

+0

скажите мне, что вы хотите, чтобы результат был в следующем примере: https://snag.gy/JApZ1L.jpg – Nickstoy

0

Вы можете использовать этот VBA код:

Sub copy_all() 
' 
' copy all sheets to D 
' 
    Dim rowCount As Integer 

    Sheets("D").Select 
    Range("A2").Select 
    Range(Selection, Selection.End(xlToRight)).Select 
    Range(Selection, Selection.End(xlDown)).Select 
    Selection.Delete 
    Sheets("A").Select 
    Range("A2").Select 
    Range(Selection, Selection.SpecialCells(xlLastCell)).Select 
    Selection.Copy 
    Sheets("D").Select 
    Range("A2").Select 
    ActiveSheet.Paste 
    Sheets("B").Select 
    Range("A2").Select 
    Range(Selection, Selection.SpecialCells(xlLastCell)).Select 
    Selection.Copy 
    Sheets("D").Select 
    rowCount = Cells(Rows.Count, 1).End(xlUp).Row 'column A has a value of 1 
    Cells(rowCount + 1, 1).Select 
    ActiveSheet.Paste 
    Sheets("C").Select 
    Range("A2").Select 
    Range(Selection, Selection.SpecialCells(xlLastCell)).Select 
    Selection.Copy 
    Sheets("D").Select 
    rowCount = Cells(Rows.Count, 1).End(xlUp).Row 'column A has a value of 1 
    Cells(rowCount + 1, 1).Select 
    ActiveSheet.Paste 
End Sub 

Каждый раз, когда вы запустите этот макрос, это удалив все содержимое листа D, кроме заголовков столбцов и копирования листов A, B и C один после другой к листу D.

Он имеет 2 основные предположения, которые могут быть изменены легко:

  1. Название листов является A, B, C и D. Я думаю, это неверно, поэтому просто замените все строки, как Sheets("A").Select, на Sheets("NameOfSheet").Select.
  2. Данные во всех листах начинаются в ячейке A2. Если нет, просто замените все строки, как Range("A2").Select, правильной самой верхней левой ячейкой данных.

одно предположение не может быть легко изменена - что данные на всех листах выглядят точно так же (одинаковое количество столбцов, в том же порядке).

Попробуйте это и скажите мне, если он вам помог;)