Kaikessa yksinkertaisuudessaan tilanne on se, että soluissa on merkintöjä tyyliin K5B2 ja K11A4. Nämä merkinnät pitäisi eritellä väliviivalla jotta ne näyttäsivät tältä: K5-B2 ja K11-A4.
Miten rakentaisin makron joka osaisi sijoittaa väliviivan oikeaan kohtaan?
Moikka jomjom!
tässä sulle Excel-VBA-Makropurkkaa...
ThisWorkbook:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Dim solu, apuStr As String, i As Integer Application.ScreenUpdating = False For Each solu In Cells.Range("A1:" & _ Replace(Cells.SpecialCells(xlCellTypeLastCell).Address, "$", "")) With solu apuStr = CStr(.Value) For i = 1 To Len(apuStr) If IsNumeric(Mid(apuStr, i, 1)) And _ Not IsNumeric(Mid(apuStr, i + 1, 1)) And _ Not Mid(apuStr, i + 1, 1) = "-" And _ Not Mid(apuStr, i + 1, 1) = "" Then apuStr = Left(apuStr, i) & "-" & _ Right(apuStr, Len(apuStr) - i) End If Next i .Value = apuStr: apuStr = "" End With Next Application.ScreenUpdating = True End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.