Hirdetés

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

  • Delila_1

    Topikgazda

    válasz buherton #14010 üzenetére

    Az A1:A10 tartomány rövidítését beírja a B1:B10 tartományba, és megvizsgálja a COUNTIF (darabteli) függvénnyel, hogy hány db ilyen van a B oszlopban. Ha 1-nél több, akkor a B oszlopba az A megfelelő cellájának az első és harmadik betűjét írja. Lehetne cifrázni, mert előfordulhat, hogy több azonos alakul ki így is. Ahhoz újabb ciklusok kellenek, egy Do-Loop, és egy For-Next. Ha több időm lesz, és szükséges, megírom.

    Sub rovidites()
    Dim sor%, szo$, betu%
    For sor% = 1 To 10
    szo$ = Cells(sor%, "A")
    If InStr(1, szo$, " ") Then 'ha van benne szóköz
    For betu% = 1 To Len(szo$)
    If Asc(Mid(szo$, betu%, 1)) > 64 And Asc(Mid(szo$, betu%, 1)) < 91 Then 'nagybetű
    Cells(sor%, "B") = Cells(sor%, "B") & Mid(szo$, betu%, 1)
    End If
    Next
    Else
    Cells(sor%, "B") = Left(szo$, 2)
    End If
    If WorksheetFunction.CountIf(Columns(2), Cells(sor%, "B")) > 1 Then _
    Cells(sor%, "B") = Left(szo$, 1) & Mid(szo$, 3, 1)
    Next
    End Sub

    [ Szerkesztve ]

    Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

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