Excel - Kopiera rad från ett annat ark

Problem

Jag jobbar med 2 Excel, ett fält är vanligt i både excel "SID". Jag måste kopiera raden SID säga "ABC" från Excel B och lägg till raden med samma SID "ABC" i Excel A

Observera att jag har 14 ark i Excel B. Källan där SID måste sökas och rad måste hämtas.

så jag har 2 utmaningar framför mig:

  • Välj ett SID från Excel A och sök det i 14 ark excel B
  • Efter att ha hittat kopiera motsvarande rad i excel B och lägg den i det plockade SID i Excel A.

T.ex:

 Excel Ett SID-meddelande nummer Beställningsdatum ABC 43556 23/05/2009 

 Excel B Sheet 3 SID Totalt antal dagar SDT XYZ 12 45 ABC 21 32 

Resultatet ska finnas i Excel A:

ABC 43556 23/05/2009 21 32

Lösning

Jag ger dig ett makro "test" för detta ändamål. i exemplet arbetsbok excel A (kom ihåg att det finns mellanslag mellan "excel" och "A") sheet1 där du har huvuddata lägger till ytterligare en provdata i den tredje från A3 till höger så här

jkh 23456 5/30/2009

Både SAMPLE-arbetsböckerna måste ha sparats och öppnas.

Försök sedan med makroet (jag har gett ett annat makro "ångra" vilket försvinner resultatet av makro "testet"

Om det finns problem berätta för mig vilket koddeklaration som ger problemet och felmeddelandet om något

Parkera makron i VB-redigeraren av Excel A (trodde att det inte spelar någon roll)

testa makronerna i provets arbetsböcker och om det är framgångsrikt, använd makroet i din ursprungliga fil.

Innan du gör det håller du ORIGINALFILERNA SÄRSKILDA NÅGON SOM ATT FILERNA KAN RETRIEVERAS OM DET ER MISS UPP.

Makro 1:

 Sub-test () Dim som räckvidd, c Som omfång Dim x As-sträng, j Som heltal, k Som heltal Dim cfind Som räckvidd, r1 Som räckvidd med arbetsböcker ("excel A.xls"). Arbetsblad r = Område (.Range ("A2"), .Range ("A2"). Slut (xlDown)) För varje c I rx = c.Value med arbetsböcker ("excel B.xls") j = .Worksheets.Count För k = 1 Till j Med .Worksheets (k) Ange cfind = .Cells.Find (vad: = x, lookat: = xlWhole) Om inte cfind är ingenting sedan inställt r1 = Område (cfind.Offset (0, 1), cfind.End (xlToRight)) r1.Copy GoTo klistra änden om sluta med kalkylblad (k) Nästa k Avsluta slutet med 'Andra bokpasta: c.Offset (0, 3) .PasteSpecial Nästa c Avsluta med "första boken Sluta Sub 

Makro 2:

 Sub undo () Med arbetsböcker ("excel A.xls"). Arbetsblad ("sheet1") Räckvidd (.Range ("d1"), .Range ("d1"). Slut (xlToRight)) .Hela kolumn. Sluta med Slutdel 

Notera

Tack till venkat1926 för detta tips på forumet.

Tidigare Artikel Nästa Artikel

Bästa Tipsen