Excel VBA Formaatbereik wijzigen

Formaat bereik wijzigen met VBA

Deze zelfstudie laat zien hoe u de Formaat van eigenschap wijzigen van de Bereikobject om te wijzigen om een ​​nieuw bereik te retourneren waarvan de grootte is gewijzigd ten opzichte van het oorspronkelijke Range-object.

Syntaxis

Syntaxis voor de eigenschap Resize is:

1 Bereik ("A1"). Formaat wijzigen (rijgrootte, kolomgrootte)

Waar Range ("A1") uw startbereik is.

RowSize en ColumnSize moeten groter zijn dan nul. Elke invoer is optioneel (u kunt bijvoorbeeld RowSize weglaten om alleen het aantal kolommen te wijzigen, of omgekeerd).

Formaat van aantal rijen en kolommen wijzigen

Het volgende voorbeeld breidt het bereik uit met één cel A1 tot bereik A1:D10 door het aantal rijen te verhogen tot 10 en het aantal kolommen tot 5.

1 Bereik ("A1"). Formaat wijzigen (10, 5). Selecteer

Of, vaker wijst u het aangepaste bereik toe aan een variabele:

12 ' Wijzig de grootte van het bereik naar de gewenste grootte en wijs het toe aan een variabeleStel newRng = ActiveSheet.Range ("A1") in. Formaat wijzigen (10, 5)

Alleen het aantal rijen verkleinen

Het volgende voorbeeld wijzigt alleen het aantal rijen:

12 ' Alleen rijgrootte wijzigen, nieuw bereik is $A$1:$A$10Stel newRng = rng in.Resize (10)

Alleen het aantal kolommen verkleinen

Het volgende voorbeeld wijzigt alleen het aantal kolommen:

12 ' Alleen kolomgrootte wijzigen, nieuw bereik is $A$1:$E$1Stel newRng = rng.Resize(, 5)

Formaat van tabelbereik wijzigen om koptekst uit te sluiten

Als u een tabel op een actief blad hebt met een koptekstrij, selecteert de code eerst de hele tabel en gaat vervolgens één rij omlaag om de koptekst uit te sluiten met behulp van de Range.Offset-methode. Vervolgens wordt de eigenschap Range.Resize gebruikt om de grootte met één rij te verkleinen.

1234567891011 Sub SelecteerTabelData()' **BELANGRIJK**' Klik op een cel van de tabel voordat u de macro uitvoert' Ga één rij omlaag met behulp van Offset en verklein de bereikgrootte met één rijStel tbl = ActiveCell.CurrentRegion.Offset(1, 0).Resize(tbl.Rows.Count - 1, _tbl.Kolommen.Aantal)' Gegevens zijn geselecteerd met uitzondering van de kopregeltbl.Adres.SelecteerEinde sub

Schrijf 2D-array naar bereik

Een ander veelgebruikt gebruik is om een ​​tweedimensionale array naar een blad te schrijven. Aangezien het te schrijven bereik moet overeenkomen met de grootte van de array, wat normaal niet van tevoren bekend is, wordt de Resize-methode gebruikt om het uitvoerbereik in te stellen

Het onderstaande voorbeeld leest de gegevens in het bereik A1:E10 in actief blad naar een array en schrijft de array naar het blad 'Uitvoer' vanaf cel A1:

123456 Sub WriteArray()' Lees de gegevens naar een arraydata = Bereik ("A1:E10"). Waarde' Wijzig de grootte van het uitvoerbereik en schrijf de arrayWerkbladen ("Uitvoer").Bereik ("A1").Resize(UBound(data, 1), UBound(data, 2)).Waarde = dataEinde sub

Geschreven door: Vinamra Chandra

wave wave wave wave wave