0
我需要選擇從例如C5開始並在P13結束的範圍。如何使用輸入框從使用VBA的開始單元格和結束單元格中選擇範圍excel
我做了一些編碼,但它有什麼問題,我找不出來。它沒有合併進去。有什麼建議嗎?
Sub Select_Range()
Dim lastrow As Long, LastCol As Long
Dim TheRow As Long, TheCol As Long
Dim StartCell As String
Dim EndCell As String
Dim startrow As Long, StartCol As Long
Dim TheRow2 As Long, TheCol2 As Long
StartCol = ActiveSheet.Cells(1, Columns.Count).End(xlToRight).Column
startrow = Cells(Rows.Count, StartCol).End(xlDown).Row
StartCell = InputBox("Enter Start cell")
TheRow2 = Range(StartCell).Row
TheCol2 = Range(StartCell).Column
ActiveSheet.Range(Cells(TheRow2, TheCol2), Cells(startrow, StartCol)).Select
LastCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
lastrow = Cells(Rows.Count, LastCol).End(xlUp).Row
EndCell = InputBox("Enter End cell")
TheRow = Range(EndCell).Row
TheCol = Range(EndCell).Column
ActiveSheet.Range(Cells(TheRow2, TheCol2), Cells(startrow, StartCol)).Select
ActiveSheet.Range(Cells(TheRow, TheCol), Cells(lastrow, LastCol)).Select
End Sub
當我選擇了我想要的範圍後,我需要將公式插入選定範圍。我如何操作公式成爲選定的範圍? 這是我的公式:
ActiveCell.range.Formula = "{=MAX(($C$3:$S$20=D27)*COLUMN($C$3:$S$20))-COLUMN($C$3:$S$20)+1}"
有很多事情在那裏,我擔心可能無法正常工作。你的數據*不是在'A1'開始說'F1'嗎?因爲如你所說,你的'StartCol'和'EndCol'可能是一樣的。你的數據是什麼樣的?另外,你應該[避免使用'.Select' /'.Activate'](https://stackoverflow.com/questions/10714251)。 – BruceWayne
不是。數據並不是專門在同一個單元格中開始和結束,這就是爲什麼我創建了一個輸入框來執行此操作的原因。當我輸入開始單元格時,它確實從我輸入的單元格開始,但它不會在我想要的單元格結束。 – prestan
這不會引發任何錯誤嗎? – BruceWayne