Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: Simppeli excel-makro kysymys

jomjom [16.11.2007 11:55:06]

#

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?

neau33 [16.11.2007 13:07:03]

#

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

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta