Hvis du markerer cellerne, du ønsker at ændre og kører denne makro, bliver teksten i cellerne ændret.
Sub Uge() Dim C, Omr As Range On Error Resume Next Dim LastRow, K, F, S, R, X As Integer Set Omr = Selection For Each C In Omr K = WorksheetFunction.Find("-", C) F = Mid(C, K - 2, 2) * 1 S = Mid(C, K + 1, 2) * 1 C.Value = "Uge " & F For X = F + 1 To S C.Value = C.Value & " + " & X Next Next End Sub
Umiddelbart virker koden fint nok, hvis der er "uge 30-32". Men hvis der bare står uge 20, så sletter den det og skriver Uge 4 - andre steder skriver den bare Uge.
Jeg har brugt Store-Mortens forslag til at vælge et bestemt område i D-kolonnen. Ret selv hvis det ikke passer. Desuden testes der nu om cellen er tom og om der kun står en uge i cellen.
Sub Uge() Dim C, Omr As Range On Error Resume Next Dim LastRow, K, F, S, R, X As Integer Set Omr = Range("D2:D17") ' ret området For Each C In Omr S = 0 If C <> "" Then K = WorksheetFunction.Find("-", C) If K = "" Then Else F = Mid(C, K - 2, 2) * 1 S = Mid(C, K + 1, 2) * 1 C.Value = "Uge " & F For X = F + 1 To S C.Value = C.Value & " + " & X Next End If End If Next End Sub
Sub Uge() Dim C, Omr As Range On Error Resume Next Dim K, F, S, R, X As Integer Set Omr = Selection For Each C In Omr K = WorksheetFunction.Find("-", C)
If IsEmpty(K) Then GoTo Næste
F = Mid(C, K - 2, 2) * 1 S = Mid(C, K + 1, 2) * 1 C.Value = "Uge " & F For X = F + 1 To S C.Value = C.Value & " + " & X Next Næste: Next End Sub
#14 Beklager det sene svar, men efter jeg oprettede tingene på ny. Så virker det perfekt. Tusind tak for hjælpen begge to!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.