Pereiti prie turinio

Reikia truputi VBA pagalbos


Rekomenduojami pranešimai

Sveiki,yra 2 excelio lapai(sheets.Pirmame lape yra skyrius ir kodas ir dar 2 langeliai su skaiciais sone, tai reikia imt skyriaus id ir koda pagal juos surast antram lape ta eilute ir iklijuot tuos 2 skaicius is pirmo lapo, o jei neranda antram lape tada, pirmam lape parasyt gale eilutes, kad nerasta.? Ar turite minciu? Su vlookup nepavyko.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki,yra 2 excelio lapai(sheets.Pirmame lape yra skyrius ir kodas ir dar 2 langeliai su skaiciais sone, tai reikia imt skyriaus id ir koda pagal juos surast antram lape ta eilute ir iklijuot tuos 2 skaicius is pirmo lapo, o jei neranda antram lape tada, pirmam lape parasyt gale eilutes, kad nerasta.? Ar turite minciu? Su vlookup nepavyko.

Record nepriduoda nauju grandziu :(

ActiveSheet ir Sheet pagal name

cia lyg kazkas is ABC lygio :(

Redagavo saknis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pasikeisk viską pagal save, nes programoj nėra automatinio tuščių langelių tikrinimo, tad turbūt teks daug ką keisti ranka.

Pas mane stulpeliai išsidėsto nuo pat langelio (1,1), tad jei pas tave kitaip , irgi teks keistis.

 

Šiaip tai čia juokų darbas. Nesuprantu kodėl patys nepasidarot.

 

Sheet1

 

kai pvz "ID 111" yra viename langelyje, o "5" ir "1" atskiruose


ID 111	5	1
ID 222	5	2
ID 333	5	3
ID 444	5	4
ID 555	5	5
ID 666	5	6
ID 777	5	7
ID 888	5	8
ID 999	5	9
ID 1110	5	10


 

 

 

Sheet2

ID 444
ID 1110
ID 555
ID 758
ID 111
ID 123

 

VBA:




Dim i As Integer
Dim sutampa As Boolean
   Dim indeksas As Integer



For i = 1 To 10

 ActiveWorkbook.Worksheets("Sheet1").Cells(i, 4).Value = "nerasta"


Dim pirmo_sheeto_ID As String

pirmo_sheeto_ID = ActiveWorkbook.Worksheets("Sheet1").Cells(i, 1)


   sutampa = False
   indeksas = 0

For j = 1 To 10

Dim antro_sheeto_ID As String
antro_sheeto_ID = ActiveWorkbook.Worksheets("Sheet2").Cells(j, 1)

If StrComp(pirmo_sheeto_ID, antro_sheeto_ID, vbTextCompare) = 0 Then
 ActiveWorkbook.Worksheets("Sheet2").Cells(j, 2).Value = ActiveWorkbook.Worksheets("Sheet1").Cells(i, 2).Value
    ActiveWorkbook.Worksheets("Sheet2").Cells(j, 3).Value = ActiveWorkbook.Worksheets("Sheet1").Cells(i, 3).Value

    ActiveWorkbook.Worksheets("Sheet1").Cells(i, 4).Value = " "


sumtampa = True
indeksas = j
End If


Next j

   If sutampa = True Then

   ActiveWorkbook.Worksheets("Sheet2").Cells(indeksas, 2).Value = ActiveWorkbook.Worksheets("Sheet1").Cells(i, 2).Value
    ActiveWorkbook.Worksheets("Sheet2").Cells(indeksas, 3).Value = ActiveWorkbook.Worksheets("Sheet1").Cells(i, 3).Value

   End If








Next i




Redagavo kaciukas111
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...