Rivin poistaminen

ploppiii

Kuinka poistetaan rivi perustuen solun arvoon. Lukenut aika monta engalnninkielistä artikkelia mutta ei meinaa toimia.

Eli ajatellaan että solussa G14 on nimilista josta käyttäjä valitsee nimen.

Nyt makron pitäisi tutkia D sarake kokonaan ja jos nimi löytyy niin poistaa koko rivi

Sub Loop_Example()
Dim Firstrow As Long
Dim Lastrow As Long
Dim Lrow As Long
Dim CalcMode As Long
Dim ViewMode As Long

With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

'We use the ActiveSheet but you can replace this with
'Sheets("MySheet")if you want
With ActiveSheet

'We select the sheet so we can change the window view
.Select

'If you are in Page Break Preview Or Page Layout view go
'back to normal view, we do this for speed
ViewMode = ActiveWindow.View
ActiveWindow.View = xlNormalView

'Turn off Page Breaks, we do this for speed
.DisplayPageBreaks = False

'Set the first and last row to loop through
Firstrow = .UsedRange.Cells(14).Row
Lastrow = .UsedRange.Rows(.UsedRange.Rows.Count).Row

'We loop from Lastrow to Firstrow (bottom to top)
For Lrow = Lastrow To Firstrow Step -1

'We check the values in the A column in this example
With .Cells(Lrow, "G")

If Not IsError(.Value) Then

If .Value = "ron" Then .EntireRow.Delete
'This will delete each row with the Value "ron"
'in Column G case sensitive.

End If

End With

Next Lrow

End With

ActiveWindow.View = ViewMode
With Application
.ScreenUpdating = True
.Calculation = CalcMode
End With

End Sub




Tuota value "ron" olen koettanut muuttaa soluviittaukseksi mutta huonolla tuloksella.

2

69

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • edellinen taas

      Sub test()
      With ActiveSheet
      .AutoFilterMode = False
      With Range("G14", Range("G" & Rows.Count).End(xlUp))
      .AutoFilter 1, "tähän pitäisi saada soluviittaus eikä tekstiä"
      On Error Resume Next
      .Offset(1).SpecialCells(12).EntireRow.Delete
      End With
      .AutoFilterMode = False
      End With
      End Sub


      Tässä löytyki hiukan helpompi koodi mutta sama ongelma. Muuten toimii täydellisesti.

    • edellinen taaaas

      Itse itselleni vastaten...

      Sub test()
      With ActiveSheet
      .AutoFilterMode = False
      With Range("G14", Range("G" & Rows.Count).End(xlUp))
      .AutoFilter 1, Range("E9")
      On Error Resume Next
      .Offset(1).SpecialCells(12).EntireRow.Delete
      End With
      .AutoFilterMode = False
      End With
      End Sub



      Kyllä sitä on välillä hölmö !

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Räppäri kuoli vankilassa

      Ei kuulemma ole tapahtunut rikosta. Sama vahinkohan kävi Epsteinille. https://www.hs.fi/suomi/art-2000011840869.html "
      Maailman menoa
      97
      4399
    2. Välillä kyllä tuntuu, että jaat vihjeitä

      Mutta miten niistä voi olla ollenkaan varma? Ja minä saan niistä kimmokkeen luulemaan yhtä sun toista. Eli mitä ajatella
      Ikävä
      29
      3273
    3. No kyllä te luuserit voitte tehdä mitä vaan keskenänne, sitä en ymmärrä miksi pelaat,nainen

      Pisteesi silmissäni, edes ystävätasolla tippui jo tuhannella, kun sain selville pelailusi, olet toisen kanssa, vaikka ol
      Ikävä
      45
      2360
    4. Missä näitte viimeksi?

      Missä näit kaivattua viimeksi ja oliko sähköä ilmassa?
      Ikävä
      35
      1368
    5. Puukotus yöllä

      Oli kaveri hermostunut ja antanut puukosta.
      Sotkamo
      10
      999
    6. Harmittaako sinua yhtään?

      Tuntuuko pahalta ollenkaan?
      Ikävä
      32
      996
    7. Minulla on käsitys

      Ettet ole kovin se k s uaalinen ihminen.
      Ikävä
      25
      990
    8. 153
      985
    9. rakas J siellä jossain

      Niin ikävä sua. -P. Nainen
      Ikävä
      6
      914
    10. Masan touhut etenee

      Punatiilitalon tietotoimiston mukaan Masa on saanut viimein myytyä kämppänsä ja kaavoittaa uudelle lukaalille tonttia pa
      Äänekoski
      12
      862
    Aihe