Я видел несколько других вопросов, похожих на мой, и я пробовал несколько разных решений, но я все еще получаю странные результаты.Мой код находит значение в другой книге в столбце AA, затем я хочу скопировать эту строку из столбца C в столбец BC и вставить ее в текущую книгу.Весь код работает, кроме копирования из столбца C в BC.По какой-то причине он начинает копировать строку из столбца AC.Я пробовал стандартный диапазон, но я думаю, что он относителен к активной ячейке, и я не знаю, есть ли способ сделать отрицательные буквы столбцов, поэтому я попытался сместить и попытался. Ячейки, но ни один не выбрал правильный диапазон.Вот несколько примеров кода, который я пробовал:
Private Sub ComboBox1_Change()
Dim checknum As String
Dim chkrow As String
Dim Rng As Range
prfile1 = Worksheets("setup").Range("B10").Value
prfile2 = Worksheets("setup").Range("B7").Value
filepath = Worksheets("setup").Range("e10").Value
checknum = ComboBox1.Value
'Workbooks.Open filepath & prfile2
Windows(prfile2).Activate
Worksheets("MRegister").Select
With Worksheets("MRegister").Range("AA:AA")
Set Rng = .Find(What:=checknum, _
After:=.Cells(.Cells.Count), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
Rng.Select
.Range(.Cells(ActiveCell.Row, -24), .Cells(ActiveCell.Row, 28)).Select
Selection.Copy
End With
Windows(prfile1).Activate
Sheets("ReprintOld").Range("M203:BM203").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Windows(prfile2).Activate
Sheets("MRegister").Range("A1").Select
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
Sheets("ReprintOld").Range("A1").Select
End Sub
для смещения:
.Range(ActiveCell.Offset(0, -24), ActiveCell.Offset(0, 28)).Select
для стандартного диапазона:
.Range("C" & ActiveCell.Row & ":BC" & ActiveCell.Row).Select
Вы быдумаю, что все это будет работать, но все они начнут выделять несколько столбцов справа от активной ячейки.