古いマクロを修復するために多くの時間を節約できるマクロを作成しようとしています。私がしようとしているのは、値が "MonoBi"から "Bi recurso"まで過去のものを見つけたい場合、 "MonoRisco 3"と "MonoBi"の値を比較することです。私は既に存在するリストの終わりにその値を過ぎたい。私はそれが可能だと思うが、私は方法を知らない。私はコードが最適化されていないが、私はそれが最初に実行し、それを修正したいと思います。事前に感謝次の空白のセルから過去の値を検索する
Do While Sheets("Bi recurso").Cells(lin_dest_1, 1) = ""
Select Case True
Case Sheets("Bi recurso").Cells(lin_dest_1, 1).Value2 = "":
If Sheets("Mono risco 3").Cells(lin_ori_1, 1) <> "" Then
Do While Sheets("Mono risco 3").Cells(lin_ori_1, 1) <> ""
Do While Sheets("MonoBi").Cells(lin_ori_2, 1) <> ""
Select Case True
Case Sheets("Mono risco 3").Cells(lin_ori_1, 1) = Sheets("MonoBi").Cells(lin_ori_2, 1):
Sheets("Bi recurso").Cells(lin_dest_1, 1).Value2 = Sheets("MonoBi").Cells(lin_ori, 1).Value2
Sheets("Bi recurso").Cells(lin_dest_1, 2).Value2 = Sheets("MonoBi").Cells(lin_ori, 2).Value2
Sheets("Bi recurso").Cells(lin_dest_1, 3).Value2 = "Mono Bi"
Sheets("Bi recurso").Cells(lin_dest_1, 4).Value2 = Sheets("MonoBi").Cells(lin_ori, 4).Value2
Sheets("Bi recurso").Cells(lin_dest_1, 5).Value2 = Sheets("MonoBi").Cells(lin_ori, 5).Value2
Sheets("Bi recurso").Cells(lin_dest_1, 6).Value2 = Sheets("MonoBi").Cells(lin_ori, 6).Value2
Sheets("Bi recurso").Cells(lin_dest_1, 7).Value2 = Sheets("MonoBi").Cells(lin_ori, 7).Value2
lin_ori_1 = lin_ori_1 + 2
Case Else
lin_ori_2 = lin_ori_2 + 1
End Select
Loop
Loop
Case Else: lin_dest_1 = lin_dest_1 + 1
End Select
'
End Sub
こんにちは、返事が遅れて申し訳ありません。私は、0とは違う行や列の数を "計算"することが可能であるかどうかはわかりませんでした。これは私を助けた簡単な方法です。ありがとうございました。あなたが投稿したコードは正確に私の問題の解決策ではありませんが、私はちょうど私のワークブックにそれを適応させ、うまくいきます。私は最終的な解決策を投稿します(サイクルはまだありませんが、私は後でそれを変更します:)) –
私の提案はあなたを助けてくれてうれしいです。おかげで – Xabier