Avatar billede gimmer Nybegynder
04. marts 2008 - 20:40 Der er 9 kommentarer og
1 løsning

IF sætning og lidt til

Hej.
Jeg har et ligge spg.
Jeg sidder i excel og skal have fjernet enten XXX Eller YYY i en sætning....
Det skal være i den aktivedel som jeg markerer og så kører macrooen og selve rækken med tal hedder eksempelvis A1:a12 og andre gange B12:B40. og indholdet i cellerne hedder eksempelvis 1234567 XXX ELLER 54321 YYY der er altså ingen logik i antallet af tal før det jeg skal have fjernet...
Hvordan laves det i en i excel?
Mange tak
Avatar billede martin_moth Mester
04. marts 2008 - 21:50 #1
Brug f.eks. denne macro - den fjerner de sidste 3 tegn i alle cellerne - det ligner det at du har brug for

Dim strStarttext As String
Dim strEndtext As String

    Dim i As Long
    Dim j As Long
   
    For i = 1 To 4 '(række 1 til 4 - ret selv til)
      For j = 1 To 40 '(kolonne A (=1) til AN (=40) - ret selv til)
        If Cells(i, j).Value > 0 Then
          strStarttext = Cells(i, j).Value
          If Len(strStarttext) > 4 Then
            strEndtext = Mid(strStarttext, 1, Len(strStarttext) - 4)
          End If
          Cells(i, j).Value = strEndtext
        End If
      Next j
    Next i
    MsgBox "slut"
Avatar billede gimmer Nybegynder
04. marts 2008 - 22:10 #2
Det er tæt på super... hvordan laver jeg det om så det ikke automatisk er de øverste linier, men i de celler som jeg har markeret?
Avatar billede kabbak Professor
04. marts 2008 - 23:40 #3
Sub Makro1()

    Selection.Replace What:="XXX", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="YYY", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
Avatar billede martin_moth Mester
05. marts 2008 - 09:24 #4
Noget mere elegant fra kabbak (og "snyd" - har du ikke optaget en macro og tilpasset ;o)

Men hvad med helt at droppe macro - marker området, brug søg-og-erstat på "XXX" og "" - for det er jo i virkeligheden det macroen gør...

Det var bare mig der ikke så klart og startede med koderiet før jeg tænkte mig om
Avatar billede gimmer Nybegynder
05. marts 2008 - 19:14 #5
Tjo... det kunne man måske godt, men det er fordi jeg skal have det ind som en del af noget større :-) den skal både soterer nogele data, editerer i dem og derefter lave et vlookup. men jeg kan finde ud af de to andre dele så jeg mangler lidt hkælp til delen i midten :-)
Avatar billede martin_moth Mester
05. marts 2008 - 20:12 #6
ok. er spørgsmålet besvaret nu eller?
Avatar billede gimmer Nybegynder
05. marts 2008 - 20:15 #7
Nej egentligt ikke, jeg ved ikke helt hvordan det skal fundere? Alternativt ville det været fint hvis der bare var en som ved hvordan man sletter de sidste 4 i en string? jeg har forsøgt med Right(4) eller noget i den retning ,men det virker sgu ikke den sletter så vidt ejg kan se noget helt tilfældigt :-) - ikke helt tilfældigt men ikke bare de sidste 4...
Avatar billede martin_moth Mester
06. marts 2008 - 08:52 #8
det har jeg vist dig - det er netop det jeg gør i mit svar - sletter de sidste 4 tegn i en string

strEndtext = Mid(strStarttext, 1, Len(strStarttext) - 4)
Avatar billede martin_moth Mester
06. marts 2008 - 08:54 #9
slå op i hjælpen på

len
left
rigth
trim
Ltrim
Rtrim
mid
instr
instrrev

Med disse kommandoer kan du lave alle de manipulationer med strings du kan få brug for
Avatar billede gimmer Nybegynder
07. marts 2008 - 07:31 #10
Super mange tak!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester