0
C5から始まりP13で終わる範囲を選択する必要があります。VBAを使用してスタートボックスとエンドセルから入力ボックスを使用して範囲を選択する方法
私はコーディングをいくつか行いましたが、問題があります。私はそれを理解できません。それは合併されていません。
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