Saya memiliki Kode VBA untuk menghitung jarak antara dua sel dengan nilai yang sama di atas meja. Saya hanya perlu perbedaan baris antara sel-sel yang dapat pada kolom yang berbeda seperti yang terlihat pada gambar. Saya hanya perlu jarak pada sumbu "Y", bukan pada sumbu "X". Kode ini memiliki fungsi dan desain yang saya butuhkan tetapi juga menghitung jarak pada sumbu "X".
Pada contoh gambar di bawah ini, di kolom B, B5: Tengah cocok dengan yang terdekat (turun) B12: Tengah , dan jarak (jumlah baris di antara mereka) adalah 6. Dan dalam E1: 250 itu cocok dengan paling dekat G16: 250 , dan jaraknya 13.
Kode yang saya miliki adalah ini:
Option Explicit
Sub main()
Dim cell As Range, f As Range
Dim rowOffset As Long
With Worksheets("gaps").Range("A2:F10") '<--| change this to your actual range of interest
For Each cell In .SpecialCells(xlCellTypeConstants, xlNumbers)
rowOffset = 1
Set f = .Find(what:=cell, after:=cell, LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlPrevious)
If Not f Is Nothing And f.Row <= cell.Row Then rowOffset = cell.Row - f.Row + 1
cell.offset(, .Columns.Count + 1) = rowOffset '<--| the "+1" offset results range one column away from values range: adjust it as per your needs
Next cell
End With
End Sub
sumber
Berikut adalah solusi yang saya temukan untuk masalah ini dalam mengatasi masalah yang saya miliki dalam kode yang ditawarkan.
sumber