Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Delila_1

    veterán

    válasz Gabcsika #5380 üzenetére

    Megszívlelvén Cucinak a 2. pontjában feltett kérdését, a B oszlopban megtalált érték sorába beíratom az összes helyet, ami a C oszlopban van, és tartalmazza a B értékét. Az első megtalált érték a D, a második az E.., stb. oszlopokba kerül. Mindegyik beírt találathoz fűzök egy megjegyzést, ami a C oszlop beli címet tartalmazza.
    Ez is bonyolultan hangzik, de ha lefuttatod, világosabb lesz.

    Sub Hasonlo()
    Dim sor, oszlop As Integer
    Dim sz, cim As String
    Dim ter As Range
    Dim CV As Object

    Set ter = Range("B242:B267")

    For sor = 242 To 267
    oszlop = 4
    sz = Cells(sor, 3): cim = Cells(sor, 3).Address
    For Each CV In ter
    If InStr(1, sz, CV) Then
    Do While Cells(CV.Row, oszlop) <> ""
    oszlop = oszlop + 1
    Loop
    Cells(CV.Row, oszlop).Select
    With Selection
    .Value = sz
    .AddComment
    .Comment.Text Text:=cim
    .Comment.Visible = False
    End With
    oszlop = oszlop + 1
    End If
    Next
    Next
    End Sub

  • Delila_1

    veterán

    válasz Gabcsika #5380 üzenetére

    Ez a "legjobban megfelelő" nem valami korrekt meghatározás, ahogy Cuci is írta.
    A makrót úgy írtam, hogy ha a C oszlop értékében megtalálható a B oszlop valamelyik értéke, akkor a B-ben lévő cella sorába, a D oszlopba írja a C értékét. Hú, ez aztán kacifántos megfogalmazás, de biztosan érted. :((
    Az ellenőrzendő területet a "Set ter=" -, valamint a "For sor=" kezdetű sorokban módosíthatod.

    Sub Hasonlo()
    Dim sor As Integer
    Dim sz As String
    Dim ter As Range
    Dim CV As Object

    Set ter = Range("B242:B267")

    For sor = 242 To 267
    sz = Cells(sor, 3)
    For Each CV In ter
    If InStr(1, sz, CV) Then Cells(CV.Row, 4) = sz
    Next
    Next
    End Sub

  • Cuci3

    tag

    válasz Gabcsika #5380 üzenetére

    Kérdések:
    1. Ha a C oszlopból megvan az R1815B, akkor az hova kerüljön a D oszlopban? 261-es sor (ahol a B oszlopban az 1815 van), vagy a 243-as sorba (ahol a C oszlopba az 1815 részletében van)? Meg az R1815B kerüljön oda, vagy pl annak a C oszlopban elfoglalt sora?
    2. Ha pl több R1815B találat lesz, akkor azok közül az összes kell, vagy csak az egy? Meg ha több kell, akkor azt hova kell tenni? E, F ,... oszlopok?
    3. Ha pl több találat van (R1815B, 1815-B1, 1815B1), akkor azok hova kerüljenek? E, F, ... oszlopok?
    4. Mit jelent a legjobban megfelelő találat? Pl 18152B megfelelő vagy sem?

    Sima szűréssel amúgy meg lehetne oldani egy-egy esetben (egyéni szűrés), de tömegesnél makró kellene? Még nem tom, hogy lesz-e rá időm.

Új hozzászólás Aktív témák