2015-12-17 6 views
3

Привет Я пытаюсь перенести ссылки в excel, и я пишу макрос для этой цели. Единственная проблема, с которой я сталкиваюсь, заключается в том, что пастообразный вариант не работает.Excel vba pastespecial не работает

Sub Transpose_Links() 
' 
' Transpose_Links Macro 
' 
' Hotkey: Ctrl+m 
' 

У меня есть клетки, которые я хочу, чтобы транспонировать в моем буфере обмена в данный момент потом вставить их в текущее местоположение. Они могут быть изменены так ссылки остаются в содержании клеток

Sheets("wincc").Select 
ActiveSheet.Paste Link:=True 
Selection.Replace What:="=", Replacement:="xxx", LookAt:=xlPart, _ 
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
    ReplaceFormat:=False 
Application.CutCopyMode = True 
Selection.Cut 

После повторного разрезания измененной информации, которую я хочу попросить диапазон, в котором, чтобы вставить их Это преуспевает, потому что я уже пытался изменять значение от диапазона, и он сработал. Я также пытался использовать обычную пасту, но это тоже не сработало. Я попытался найти сайт для подобных проблем, но я его не нашел. Я также проверил метод на msdn.microsoft.com, но я не дал много информации.

Dim rRange As Range 
Set rRange = Application.InputBox(Prompt:= _ 
      "Please select a range with your Mouse to be bolded.", _ 
       Title:="SPECIFY RANGE", Type:=8) 
rRange.PasteSpecial Paste = xlPasteAll, Operation = xlNone, SkipBlanks = _ 
    False, Transpose:=True 
rRange.Replace What:="xxx", Replacement:="=", LookAt:=xlPart, _ 
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
    ReplaceFormat:=False 
End Sub 

ответ

1

Попробуйте это:

Sub Transpose_Links() 
Dim rRange As Range 

' Transpose_Links Macro 
' 
' Hotkey: Ctrl+m 
' 

Sheets("wincc").Select 
ActiveSheet.Paste Link:=True 

Selection.Replace What:="=", Replacement:="xxx", LookAt:=xlPart, _ 
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
    ReplaceFormat:=False 
Application.CutCopyMode = True 
Selection.Cut 


Set rRange = Application.InputBox(Prompt:= _ 
      "Please select a range with your Mouse to be bolded.", _ 
       Title:="SPECIFY RANGE", Type:=8) 

Selection.Copy 
rRange.PasteSpecial Paste:=xlPasteAll, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=True 


rRange.Replace What:="xxx", Replacement:="=", LookAt:=xlPart, _ 
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
    ReplaceFormat:=False 
End Sub 
+0

Привет, я осуществил вашу помощь. – Michthan

+0

работает, как вы хотите? – manu

+0

Но я получил ошибку 1004: метод pastespecial из диапазона классов не удался, я все еще делаю что-то неправильно? С предыдущим комментарием я случайно нажал кнопку ввода. – Michthan

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