Kopioi nykyinen Excel -solualue uuteen taulukkoon VBA -makron avulla

Sisällysluettelo

Jotta tiedot voidaan siirtää kokonaan nykyiseltä solualueelta uuteen taulukkoon, sinun on tiedettävä, kuinka suuri käytetty solualue on aktiivisen solun ympärillä. Tai voit antaa Excelin tehdä tämän puolestasi ja kopioida g

Haluatko kopioida automaattisesti kaikki solut makron viereiseltä solualueelta? Tämä on erityisen hyödyllistä, jos haluat reagoida joustavasti käyttäjien antamiin tietoihin ja et tiedä kuinka suuret syötetyt tietoalueet ovat.

Voit käyttää tätä työtä makron avulla. Makro määrittää kaikki aktiivisen solun ympärillä olevat solut ja kopioi täsmälleen nämä solut uuteen työkirjaan.

Seuraavassa kuvassa on taulukko, jossa on kolme eri tietoaluetta. Ne on värikoodattu, jotta ne olisi helpompi nähdä.

Kaikkien solujen, jotka liittyvät naapurisoluihin ilman tyhjiä soluja, katsotaan kuuluvan yhteen.

Sopivan makron avulla voit varmistaa, että kun olet napsauttanut solualueen solua, kaikki siihen kuuluvat solut kopioidaan uuteen taulukkoon. Tässä on sopiva ohjelmakoodi:

Kopioi nykyinen alue ()
Himmennä lähdealue alueena
Himmennä NewSheet kuin laskentataulukko
Aseta lähdealue = ActiveCell.CurrentRegion
Aseta NeuesBlatt = Työkirjat. Lisää työkirjoja (1)
Lähdealue.Kopion kohde: = NeuesBlatt.Range ("A1")
End Sub

Ennen makron kutsumista napsauta mitä tahansa taulukon solua. Makro määrittää kaikki solut, jotka yhdessä valitun solun kanssa kuuluvat alueeseen, ja kopioi tämän tietoalueen uuteen tyhjään työkirjaan. Seuraava kuva näyttää, miltä tulos näyttää makron kutsumisen jälkeen, jos ensimmäisen numeron taulukon solu E9 on valittu ennen makron alkamista.

Siirry makroon painamalla ALT F11 Excelissä avataksesi VBA -editorin. Valitse INSERT - MODULE -komento VBA -editorissa ja kirjoita makro. Aloita makro aktivoimalla näppäinyhdistelmä ALT F8 Excelissä. Kaksi pikanäppäintä VBA -editorin käynnistämiseksi ja makro toimivat kaikissa Excel -versioissa.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave