2015-12-07 3 views
0

Привет, у меня есть этот код, который позволяет мне скопировать настраиваемый диапазон и вставить этот диапазон на указанный лист. Однако я не могу это сделать, если вставить фиксированный диапазон для указанного листа. Например, код ниже вставляет ссылку на лист 2, но я хочу, чтобы он мог вставить ссылку на Range (B2: N5) листа 2. Как это можно сделать? Некоторая помощь была бы очень оценена!Скопируйте диапазон с полем ввода и вставьте его на фиксированный диапазон на конкретном листе

Sub WorkingDuoFunctionCode() 
    Dim rng As Range, inp As Range 
    Set rng = Nothing 
    Set inp = Selection 
    inp.Interior.ColorIndex = 37 
    On Error Resume Next 
    Set rng = Application.InputBox("Copy to", Type:=8) 
    On Error GoTo 0 
    If TypeName(rng) <> "Range" Then 
     MsgBox "Cancelled", vbInformation 
     Exit Sub 
    Else 
     rng.Parent.Activate 
     rng.Select 
     inp.Copy 
     Worksheets("Sheet2").Paste Link:=True 
    End If 

ответ

1
Option Explicit 

Sub WorkingDuoFunctionCode() 

Dim rng As Range, inp As Range 

On Error Resume Next 

Set rng = Nothing 
Set inp = Selection 
inp.Interior.ColorIndex = 37 

Set rng = Application.InputBox("Copy to", Type:=8) 
On Error GoTo 0 

If TypeName(rng) <> "Range" Then 
    MsgBox "Cancelled", vbInformation 
    Exit Sub 
Else 
    rng.Parent.Activate 
    inp.Copy 
    Sheets(2).Range(rng.Address).Value = inp.Value 
End If 
Application.CutCopyMode = False 

End Sub 

ИЛИ

Option Explicit 

Sub WorkingDuoFunctionCode() 

Dim rng As Range, inp As Range 

On Error Resume Next 

Set rng = Nothing 
Set inp = Selection 
inp.Interior.ColorIndex = 37 

Set rng = Application.InputBox("Copy to", Type:=8) 
On Error GoTo 0 

If TypeName(rng) <> "Range" Then 
    MsgBox "Cancelled", vbInformation 
    Exit Sub 
Else 
    rng.Parent.Activate 
    inp.Copy 
    Sheets(2).Range("B2:N5").Value = inp.Value 
End If 
Application.CutCopyMode = False 

End Sub 

Но этот способ что-то становится бесполезным - вам нужно всего лишь 2 диапазонов для копирования - вставки и теперь вы получите 3 - выбор, диапазон от ввода и жестко закодированный B2: N5. В любом случае, вы знаете лучше.

+0

Здравствуйте, извините, но не указывается фиксированный диапазон. Я хочу вставить выбранные данные (Диапазон (B2: N5)) – Niva

+0

Привет, просто выберите фиксированный диапазон в поле ввода, и вы идете. – Vityata

+0

Или проверьте редактируемую версию ответа. – Vityata

Смежные вопросы