Avatar billede michaa_dk Novice
03. april 2018 - 13:28 Der er 7 kommentarer og
1 løsning

VBA IF Then finder ikke min værdi

Hej

Jeg er rendt i et problem, Når jeg afvikler følgende kode , finder den ikke  3M værdien som jeg ønsker på trods af den er angivet flere gange í den kolonne jeg søger i. Ved et tilfælde opdagede jeg at hvis jeg slettet værdien 3M og angiver den igen, Så kan den findes.
Mit eget bud er den måde som dataen er formateret, dog har jeg prøvet at formatere cellerne manuelt, det virker bare ikke.

Håber der findes en venligst sjæl der vil hjælpe mig videre.

PÅ forhånd tak


Sub Single_Loop_Example()

  Dim LCount As Integer
  Dim LRow As Long
  Dim CC As Long
 
 
  Sheets("vov").Select
  CC = 6 'vandret
  LRow = Cells(Rows.Count, CC).End(xlUp).Row
 

  For LCount = 2 To LRow
      Debug.Print LCount
      'If Cells(LCount, CC).text = "3M" Then Cells(LCount, CC + 1).text = "3M"
      If Cells(LCount, CC).text = "3M" Then MsgBox "3M"
      'If Cells(LCount, CC).Value = "3L" Then Cells(LCount, CC + 1).Value = "3L"
       
  Next LCount
  End Sub
Avatar billede falster Ekspert
03. april 2018 - 15:22 #1
Kan ikke genskabe problemet. Her virker koden uanset format af cellerne.

Hvorledes kommer værdierne - her i blandt "3M" - ind i cellerne/arket?
Avatar billede michaa_dk Novice
03. april 2018 - 15:46 #2
Det kommer ind via et udtræk fra vores portale og får navnet xxxxx.aspx (Read-Only) hvor det efterfølgende gemmes på det lokale drev i excel format.
Udtræk er en matrice hvor ikke alle felterne er udfyldt, derfor køre jeg først et job, hvor jeg opsætter det hele i en række koloner. For herefter at kunne behandle det i en privot - tabel.
Avatar billede falster Ekspert
03. april 2018 - 16:12 #3
Dette er så kun et langskud fra helt andre erfaringer med eksport-import. Der har vel ikke sneget sig tegn (særlig blanke) med foran 3 eller efter M?

(Håber at andre også giver bidrag til løsning).
Avatar billede michaa_dk Novice
03. april 2018 - 16:22 #4
Måske
Jeg har prøvet at køre løkken med en debug.print på den kolonne jeg undersøger og der falder jeg over at ved disse 3M, mm. står ?3M

Giver det mening?
Avatar billede falster Ekspert
03. april 2018 - 16:36 #5
Måske. Min erfaring er i helt andre sammenhænge. Men jeg har både været ude for blanktegn af en slags og noget der lignede en ' (apostrof) foran de importerede værdier i Excel.

Måske kan det løses med noget TRIM funktion.
Avatar billede Dan Elgaard Ekspert
03. april 2018 - 16:44 #6
At der står et spørgsmålstegn foran, tyder på, at der har sneget sig et styretegn ind foran.

Prøv med en af følgende:

If WorksheetFunction.Clean(Cells(LCount, CC).text) = "3M"

eller

If Right$(Cells(LCount, CC).text,2) = "3M"
Avatar billede michaa_dk Novice
05. april 2018 - 14:53 #7
hej

Med udskriftning til det sidste forslag  virker det nu.

Tak for hjælpen
Avatar billede Dan Elgaard Ekspert
05. april 2018 - 15:33 #8
Velbekomme :-)
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

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