Print side | Luk vindue

problemer med brug af find.range

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=3854
Udskrevet den: 28.Apr.2024 kl. 19:26


Emne: problemer med brug af find.range
Besked fra: spmo
Emne: problemer med brug af find.range
Posteringsdato: 28.Mar.2019 kl. 14:21
Jeg anvender find i range 3 gange efter hinanden, for at finde 3 konto numre, og hvor jeg så sætter 3 værdier ind i kolonnen efter.
de kører i par dvs. konto 1 - værdi 1, konto 2 - værdi 2, konto 3 - værdi 3
Problemet er, at den er begyndt at blande værdien fra konto 2 ind i konto 1's værdi, og helt skippe værdien af konti 1. Jeg vedlægger lige lidt kode, og beklager det sandsynligvis ikke er den mest smarte måde at programerer på. Alle de 0 stillinger jeg har drysset rund, er bare et forsøg på at fjerne problemet.
 
'1. sektion
Worksheets("Base").Activate
 sSheet = Worksheets("Base").Range("c4").Value
  x = Sheets("Base").Rows("4").Value
  k1 = Worksheets("Base").Range("f4").Value
  p = Val(sSheet)
  Application.FindFormat.Clear
With Worksheets("Saldo").Range("a61:a113")
    Worksheets("Saldo").Activate
    Set c = .Find(p, LookIn:=xlValues, lookat:=xlWhole)
        firstaddress = c.Address
        b = c.Address
     Range(b).Offset(0, 3).Select
        a = ActiveCell.Row
        Cells(a, 3) = 0
        Cells(a, 3) = k1
End With
  Worksheets("Base").Activate
  Worksheets("Base").Rows("4").Select
     Selection.Copy
  Worksheets(sSheet).Activate
  Worksheets(sSheet).Rows("4").Insert xlShiftDown
  Worksheets(sSheet).Rows("4").Value = x
 Worksheets("Base").Activate
 x = 0
 k1 = 0
 p = 0
 
' 2. sektion
Worksheets("Base").Activate
sSheet = Worksheets("Base").Range("g4").Value
  x = Sheets("Base").Rows("4").Value
  k1 = Worksheets("Base").Range("h4").Value
  p = Val(sSheet)
  Application.FindFormat.Clear
With Worksheets("Saldo").Range("a61:a113")
    Worksheets("Saldo").Activate
    Set c = .Find(p, LookIn:=xlValues, lookat:=xlWhole)
        firstaddress = c.Address
        b = c.Address
    'Range(b).Offset(0, 3).Select
        a = ActiveCell.Row
        Cells(a, 3) = 0
          Cells(a, 3) = k1
End With
  Worksheets("Base").Activate
  Worksheets("Base").Rows("4").Select
    Selection.Copy
  Worksheets(sSheet).Activate
  Worksheets(sSheet).Rows("4").Insert xlShiftDown
  Worksheets(sSheet).Rows("4").Value = x
  Worksheets("Base").Activate
   x = 0
 k1 = 0
 p = 0
 
'3. sektion
Worksheets("Base").Activate
sSheet = Worksheets("Base").Range("i4").Value
  x = Sheets("Base").Rows("4").Value
  k1 = Worksheets("Base").Range("j4").Value
  p = Val(sSheet)
  Application.FindFormat.Clear
With Worksheets("Saldo").Range("a61:a113")
    Worksheets("Saldo").Activate
    Set c = .Find(p, LookIn:=xlValues, lookat:=xlWhole)
       firstaddress = c.Address
       b = c.Address
     Range(b).Offset(0, 3).Select
     a = ActiveCell.Row
     Cells(a, 3) = 0
     Cells(a, 3) = k1
End With
  Worksheets("Base").Activate
  Worksheets("Base").Rows("4").Select
  Selection.Copy
  Worksheets(sSheet).Activate
  Worksheets(sSheet).Rows("4").Insert xlShiftDown
  Worksheets(sSheet).Rows("4").Value = x
  Worksheets("Base").Activate
   x = 0
 k1 = 0
 p = 0 
 
Håber der er en af jer kloge hoveder der kan gennemsku'e problemet.
Mange hilsner
søren



Svar:
Besked fra: nemaske
Posteringsdato: 29.Mar.2019 kl. 19:27
Koden kan godt trimmes en del så den bliver nemmere at overskue. Hvis du kan vedhæfte arket kan jeg kigge på det.



Print side | Luk vindue