zoeken macro herhalen

Status
Niet open voor verdere reacties.

joskjos

Gebruiker
Lid geworden
9 sep 2013
Berichten
94
Hallo,

Bijgevoegd een bestand met een macro zoekfunctie.
Bekijk bijlage zoeken.xlsm
Er staat een zin en na de : is de uitkomst wat in cel B10 staat.
nu wil ik dat bij de volgende zin ook alles na de : in cel B11 komt te staan.
De zin voor de : is altijd hetzelfde.

Ik ben benieuwd of iemand dit weet optelossen?

Jos
 
Is dit de bedoeling?
Code:
Private Sub CommandButton1_Click()
Dim c As Range, firstaddress As String, sn As Variant
Dim rC As Range
 Set c = Range("B2", Range("B2").End(xlDown))
   For Each rC In c
      sn = Split(Trim(Split(rC.Value, ":")(UBound(Split(rC.Value, ":")))), "")
      rC.Offset(8, 0).Resize(, UBound(sn) + 1) = sn
Next rC
 With ActiveSheet.UsedRange
    .Value = .Value
End With
End Sub
 
Code:
Private Sub CommandButton1_Click()
  Cells(10, 2).Resize(2) = Application.Transpose(Filter(Split(Join(Application.Transpose(Range("B2:B3")), ": "), ": "), " ", 0))
End Sub
 
Code:
Private Sub CommandButton1_Click()
  Cells(10, 2).Resize(2) = Application.Transpose(Filter(Split(Join(Application.Transpose(Range("B2:B3")), ": "), ": "), " ", 0))
End Sub

@Dotch

Het lijkt me handiger met een Array te werken dan met een Objectvariable die de Range bevat: je schakelt met een objektvariabele nl. de overbodige interaktie met het werkblad niet uit.
 
@gast0660
De code is bijna wat hij moet zijn.
De range waarin gezocht moet worden is B2:B8 en de volgende zin wil ik dat die in de macro blijft staan en niet uit de cel wordt gehaald. Er moet op die zin gezocht worden in de range:
Code:
Set c = .Columns(2).Find("in deze regel na de dubbele punt de uitkomst weergeven", , -4163, 2)

Ik heb namelijk nog een keer precies dezelfde code die in dezelfde range B2:B8 zoekt alleen dan betreft het een andere zin.

Misschien ook goed om te weten dezelfde zin staat maximaal 2x in de range B2:B8. Alleen achter de : is de uitkomst dan anders.
 
aangepast bestand zoeken

Hierbij heb ik het bestand aangepast in de hoop dat het nu duidelijker omschreven is.

1. macro wat ik heb doet zijn werk goed en uitkomst staat in cel B10
2. Ik wil dat deze macro met dezelfde zoekwaarde nog een keer in de range wordt uitgevoerd en dan de tweede gevonden zoekwaarde uitkomst laat zien in cel B11

Hopelijk kan iemand mij er iets verder mee helpen?

Jos
 

Bijlagen

Ik heb het uiteindelijk voor elkaar gekregen door onderstaande code:


Code:
Sub Zoeken()

    Dim c As Range
    Dim Source As Worksheet
    Dim Target As Worksheet
    Dim sn As Variant

    Set Source = ActiveWorkbook.Worksheets("Blad1")
    Set Target = ActiveWorkbook.Worksheets("Blad1")
  
    j = 25                  'rij'
    k = 2                   'kolom'
    Z = "zoekwoord"   'zoekwaarde'
    Target.Cells(1).Rows(j + 1).Columns(k).ClearContents
    
    For Each c In Source.Range("B1:B15").Cells
       If InStr(1, c.Value, Z, vbTextCompare) > 0 Then
         sn = Split(Trim(Split(c.Value, ":")(UBound(Split(c.Value, ":")))), " ")
           Source.Rows(c.Row).Columns(k).Copy
           Target.Cells(1).Rows(j).Columns(k) = sn
           j = j + 1
        End If
    Next c

End sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan