We wcześniejszych wersjach programu Excel naciśnięcie CTRL + A w arkuszu roboczym dosłownie wybiera wszystkie komórki. W programie Excel 2010 (nie jestem pewien co do roku 2007 lub 2003) zauważyłem, że jeśli naciśniesz CTRL + A w bloku komórek zawierających wartości, wydaje się, że wiesz, aby wybrać tylko komórki w tym bloku. Na przykład, jeśli wszystkie komórki w zakresie A1: D10 zawierają wartości i uderzysz CTRL + A, gdy aktywna komórka znajduje się w tym zakresie, wybierzesz tylko A1: D10. Jeśli ponownie naciśniesz CTRL + A, tylko wtedy faktycznie zaznaczysz wszystkie komórki w arkuszu.Jaki jest kod VBA, aby emulować wybieranie bloku za pomocą skrótu CTRL + A?
Więc zapisałem makro, aby zobaczyć, jaki kod makra był generowany, gdy robię to, ale faktycznie pisze Range("A1:D10").Select
po naciśnięciu CTRL + A. Jest to ograniczenie, a nie dynamika, ponieważ teraz muszę napisać własną logikę, aby określić granice wokół aktywnej komórki. To nie jest trudne z metodami takimi jak ActiveCell.End(xlDown)
, ale nie chciałbym tutaj wymyślać koła.
Czy jest jakaś metoda Excel VBA, taka jak ActiveCell.GetOuterRange.Select
? To byłoby miłe.