Minulla on A-sarakkeessa tietoa ja pitäisi saada etsittyä tietty aloitusmerkki esim ~290 ja poimittua sitä seuraavat merkit lopetetusmerkkiin asti (esim ~291) toiseen taulukkoon. Jos tieto olisi samalla rivillä, niin osaisin hakea ne, mutta näin en osaa. Eli alla olevasta esimerkistä pitäisi saada poimittua 430, 429, 439 ja 450 toiseen taulukkoon:
A
1 610
2 ~290
3 430
4 429
5 439
6 450 ~291
7 500
8 550
Sarakkeittainen tietojen poiminta
3
263
Vastaukset
muotoile sopivaksi ...
esim. nyt
hakee Taul1 A -sarakkeesta solunjen E1 ja E2 väliset luvut TAul2 A-sarakkeeseen...
aloitusehto solussa E1
lopetusehto solussa E2
Sub HakuEhdoilla()
On Error Resume Next
Dim Löydetty As Range
Dim Löydetty2 As Range
Dim solu As Range
Dim vika As Long
Set Löydetty = Etsi(Chr(126) & Range("E1"))
Set Löydetty2 = Etsi(Chr(126) & Range("E2"))
Range(Löydetty.Offset(1, 0).Address & ":" & Löydetty2.Address).Copy Worksheets("Taul2").Range("A65536").End(xlUp).Offset(1, 0)
vika = Worksheets("Taul2").Range("A65536").End(xlUp).Row
Worksheets("Taul2").Range("A" & vika) = Left(Worksheets("Taul2").Range("A" & vika), InStr(1, Worksheets("Taul2").Range("A" & vika), "~", 1) - 1)
End Sub
Function Etsi(Hakuehto As Variant) As Range
Dim solu As Range
Dim EkaOsoite As String
Worksheets("Taul1").Activate
With Range("A:A")
Set solu = .Find( _
What:=Hakuehto, _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not solu Is Nothing Then
Set Etsi = solu
End If
End With
End Function
Keep EXCELing
@Kunde- teme34
Hei, tämä oli mielenkiintoinen ja toimiva ratkaisu!
Entä jos A-sarakkeella on useampia saman alku- ja lopetusmerkin omaavia kohteita, joiden välit halutaan poimia. Oletuksena näiden määrää ei tiedetä.Ruokahalu kasvaa syödessä näköjään...
nyt ei väliä montako samaa aluetta löytyy...
Function Etsi(Hakuehto As Variant) As Range
'etsii Sheet1 sarakkeesta A ja siirtää Sheet2 sarakkeeseen O
'oletuksena, että haettavat tiedot vain sarakkeessa A
Dim solu As Range
Dim EkaOsoite As String
Worksheets("Taul1").Activate
With Range("A:A")
Set solu = .Find( _
What:=Hakuehto, _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not solu Is Nothing Then
Set Etsi = solu
EkaOsoite = solu.Address
Do
Set Etsi = Union(Etsi, solu)
Set solu = .FindNext(solu)
Loop While Not solu Is Nothing And solu.Address EkaOsoite
End If
End With
End Function
Sub HakuEhdoilla()
On Error Resume Next
Dim Löydetty As Range
Dim Löydetty2 As Range
Dim solu As Range
Dim vika As Long
Set Löydetty = Etsi(Chr(126) & Range("E1"))
Set Löydetty2 = Etsi(Chr(126) & Range("E2"))
If Löydetty.Areas.Count = Löydetty2.Areas.Count Then
For i = 1 To Löydetty.Areas.Count
Range(Löydetty.Areas(i).Cells(1, 1).Offset(1, 0).Address & ":" & Löydetty2.Areas(i).Cells(1, 1).Address).Copy Worksheets("Taul2").Range("A65536").End(xlUp).Offset(1, 0)
vika = Worksheets("Taul2").Range("A65536").End(xlUp).Row
Worksheets("Taul2").Range("A" & vika) = Left(Worksheets("Taul2").Range("A" & vika), InStr(1, Worksheets("Taul2").Range("A" & vika), "~", 1) - 1)
Next
Else
MsgBox "Ristiriita alueiden kanssa"
End If
End Sub
Keep EXCELing
@Kunde
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
On tiedossa, että venäjämieliset diggaavat diktatuurista venäjää
jossa ei esim. ole sanan- ja lehdistönvapautta. Mutta keitä nämä venäjän palvojat sitten ovat, ei heitä toki paljon ole432478Vihreiden, SDP:n ja Vasemmistoliiton kannattajista selvästi alle puolet on miehiä
ja silti joku punafeministi valitti kokoomuksen naiskannattajien puutteesta, vaikka siellä on enemmän naisia kuin punavi742457Belfastissa käynnissä kunnon persuilu
Joku random mamu tekee rikoksen, niin sikäläiset naamiopersut kostavat tuhoamalla kantaävestön omaisuutta. Liekö siellä732342Ensin Henry Novak ja nyt sitten se Irlannin tapaus
jossa mustaihoinen afrikkalainen mieshenkilö puukottaa valkoihoista maassa makaavaa miestä useita kertoa pään alueelle.512102Islamovasemmistolaisuus - tälläista termiä käytetään
Termi tarkoittaa alunperin äärivasemmiston ja muslimifundamentalistien liittoa, jonka ytimessä oli antisemitismi. Isl251837Persujen kannatusromahdus tekee kesästä 2026 nautinnollisen
Satoi tai paistoi, niin Suomen kansalaisella on kuluvana kesänä syytä hymyyn. Niin upealta tuntuu persujen kannatusroma801663Martina Aitolehti läpäisi Erikoisjoukot - Tilittää umpirehellisenä kuvauksista
Martina Aitolehti selvisi Erikoisjoukot koulutuksesta. Hän myös malttoi pääosin pitää mölyt mahassaan, vaikka saikin ko211108Riikka runnoo! sähkön hinta +25 %, bensan hina +16 %
Euron bensa! Tuo legendaarinen persujen vaalilupaus. Sannan hallitus pudotti sähköenergan alv:n 10 prosenttiin, Riikka r71014Rakastan sinua hiljaisuudessa
Rakastan sinua hiljaisuudessa. Olisit minun tai et, olen odottanut sinua vuosisatojen ajan. Ilman sinua sydämeni on yksi40969Eläköön kuningas, kuningas on kuollut
Heikki Nivala kaatui kuin mies. Kavaltaja käveli juuri edelliseen toukokuun kokoukseen hankkimansa puku päällä. Eläköön55864