プロシージャがあまりにも大きいエラーを受信しているところに達しました。これは、私のコードが非常に厄介であるためです。当該セクションは、以下:VBAコードのこの特定のビットを小さくするにはどうすればよいですか?
If patientsperrespondentpertimepoint = 1 Then
Sheets("Work").Select
Range("D2:D" & patientprofiles + 1).Select
Selection.Copy
Sheets("Output").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ElseIf patientsperrespondentpertimepoint = 2 Then
Sheets("Work").Select
Range("D2:D" & patientprofiles + 1).Select
Selection.Copy
Sheets("Output").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Work").Select
Range("D" & patientprofiles + 2 & ":D" & 2 * patientprofiles + 1).Select
Selection.Copy
Sheets("Output").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ElseIf patientsperrespondentpertimepoint = 3 Then
Sheets("Work").Select
Range("D2:D" & patientprofiles + 1).Select
Selection.Copy
Sheets("Output").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Work").Select
Range("D" & patientprofiles + 2 & ":D" & 2 * patientprofiles + 1).Select
Selection.Copy
Sheets("Output").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Work").Select
Range("D" & 2 * patientprofiles + 2 & ":D" & 3 * patientprofiles + 1).Select
Selection.Copy
Sheets("Output").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
これは継続し、patientsperrespondentpertimepoint
3 4から5に一つずつ12までのすべての方法を成長し、対応するコピー&ペーストコマンドが各ステップで添加しますはしご。私の質問は、どうすればこれを短縮できますか?多くのコードが繰り返されているので、私はそれを短くしてよりエレガントにブートする方法を見つけることができるのだろうかと思っています。ありがとう!
ビルド機能があり作ることができるいくつかのより多くの最適化がありますが、これはあなたのコードがより簡潔にするもののアイデアを提供しますか?これはコードレビューに適しています。 – findwindow
[Excel VBAマクロでの選択の使用を避ける方法](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)を参照してください。あなたの目標を達成するためにselectとactivateに頼ってください。 – Jeeped
['.Select'を避ける方法を読む](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)、これはあなたをかなり遠くにします。 – BruceWayne