Копировать форматы из сторонней ячейки - PullRequest
0 голосов
/ 25 января 2019

Мне удалось скопировать форматы ячеек within the same sheet с помощью

Dim c As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
    If c Then Exit Sub
    c = True
    f = Mid(Target.Formula, 2)
    Range(f).Copy
    Target.PasteSpecial xlPasteAllUsingSourceTheme
    c = False
End Sub

Но в another sheet я использую =INDEX(Sheet1!$I$1:$J$255,MATCH(A4,Sheet1!$F$1:$F$255,0),1), чтобы получить значение из Sheet1.

Теперь, как я могу скопировать исходный формат так же, как ячейки на одном листе!?

Я пробовал все в Поиск Google безрезультатно!

Я даже пытался создать свою собственную функцию, но до сих пор не смог это сделать !!!

'(One variation)
Function CopyFrom(ByVal Cell)

    Dim r As Range

    Set r = Worksheets(Cell.Parent.Name).Range(Cell.address(External:=False))
    CopyFrom = r.Value2
    r.Copy
    Application.Caller.PasteSpecial xlPasteAllUsingSourceTheme

End Function

Сейчас я как бы в конце веревки!

Кто-нибудь, ПОЖАЛУЙСТА, будьте так добры и научите меня, как это сделать!

Очень ценится !!!

1 Ответ

0 голосов
/ 25 января 2019

Предполагая, что ячейка, которую вы хотите скопировать, это A1 на листе, называемом «другой лист». Предполагая, что вы хотите вставить в ячейку A1 лист «Sheet1».

option explicit
dim wb as workbook
dim wsSource as worksheet, wsDest as worksheet
dim Target As Range


Sub test()
set wb = thisworkbook
set wsSource = wb.Sheets("another sheet")
set wsDest = wb.Sheets("Sheet1")
Set Target = wsDest.Range("A1")

    wsSource.Range("A1").Copy
    Target.PasteSpecial xlPasteAllUsingSourceTheme
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...