No.8 ���[�N�V�[�g�̍ŏI�s�A�ŏI����擾���� | |||||
---|---|---|---|---|---|
|
|||||
���[�N�V�[�g�̍ŏI�Z���i�ŏI�s�A�ŏI��j���擾����c VBA���͂��߂��l�͒N�����ŏ��Ɉ�����������ł͂���܂����A�K���ɂ��C���^�[�l�b�g�Ō�������Ƃ������̉����@��������܂��B �Ƃ��낪�c�������蓮���Ȃ�������A�z��O�̓�������邱�Ƃ�����܂��B���������������̉����@�����邱�Ǝ��̂��������A���������{���̓����͂ǂ�H���̍ہA�����͂����肳���悤����Ȃ����Ƃ����̂����̃y�[�W�̎�|�ł��B ![]() <S1> ���[�N�V�[�g�̍ő�s�A�ő����擾�����܂���{����ł����A���[�N�V�[�g�̍ő�s�A�ő����擾����R�[�h�ł��B������ꎩ�͍̂ŏI�s�A�ŏI����擾������̂ł͂���܂���BMaxRow = Rows.Count MaxCol = Columns.Count Rows�̓��[�N�V�[�g�̍s�S�̂�����킷�I�u�W�F�N�g�ŁAColumns�͗�S�̂�����킷�I�u�W�F�N�g�ł��B���̃��\�b�hCount�͐��A���Ȃ킿���ꂼ��s���A������킵�܂��B �Ԃ����l��EXCEL�̃o�[�W�����ɂ���ĈقȂ�܂����AEXCEL97/2000/2003�ł�65,536�s�A256��ɂȂ�܂��B��قǔ������ꂽEXCEL2007�ł�1,048,576�s�A16,384��ŁA�Z�����ɂ���17,179,869,184�i171���j�A�]����1024�{�Ƃ����c��ȗʂɂȂ�܂��B65���S�l�ނ̖��O�����邱�ƂɂȂ�킯�ł����c�B <S2> �������ɍŏI�s��������������Range�I�u�W�F�N�g��End�v���p�e�B���g���Ă݂܂��傤�BEnd(xlDown)�Ƃ͉������Ɍ��݂̗̈�̍ʼn��[��T���Ƃ����Ӗ��ł��B�}�N���ŋL�^����Ƃ킩��܂����A����End(xlDown)�̓V���[�g�J�b�g��[Ctrl]+���ɂ�����܂��B���̃R�[�h�͘A�������Z���ł���ꍇ�A�������ŏI�s���擾���邱�Ƃ��ł��܂��BMaxRow = Range("A1").End(xlDown).Row MaxCol = Range("A1").End(xlToRight).Column �ȉ��̂悤�ȃV�[�g��p�ӂ��Ă݂܂��傤�BA1�ɃJ�[�\����u���A[Ctrl]+���������Ă݂܂��B���Ғʂ肻�̗�̍ŏI�s�ł���A10�ɃJ�[�\�����ړ����邱�Ƃ��킩��Ǝv���܂��B �Ƃ��낪�V�[�g�̓r���Ŕ����̃Z��������ꍇ�A�ȉ��̂悤�ȓ�������܂��B�l�̑��݂���A�������Z������̃u���b�N�Ƃ��āA���̏�[�A���[���ړ����܂��B����������Ƌ̕ς��ڂ�T���Ă���Ƃ����Ă�������������܂���B ���_�Ƃ��āA���̃R�[�h�͂��ׂẴf�[�^���A�������Z���ł��邱�Ƃ��ۏ���Ă���ꍇ�ɂ͎g�p�ł��܂����A�����łȂ��ꍇ�͎g���Ȃ��Ƃ������Ƃł��B ![]() <S3> ������ɍŏI�s��������������͂����Ƃ��m���Ă�����@�ł��傤���BVBA�̎Q�l���Ȃǂł���Ƃ��ĂłĂ���悤�ł��BMaxRow = Range("A65536").End(xlUp).Row MaxCol = Range("IV1").End(xlToLeft).Column ' IV1=256�� <S2>�ł̓Z�����A�����Ă��Ȃ��ꍇ�́~�ł������A������͘A�����Ă��Ȃ��Ă������Ɠ��삵�܂��B�d�g�݂Ƃ��Ă̓��[�N�V�[�g�̍ʼn��[�i65536�s�j�����Ɍ������ċłȂ��Z������������Ƃ������̂ł��B���ꂾ�Ɠr���ŋZ���������Ă����Ȃ��ł���ˁB �������A���̃R�[�h�ɂ͖�肪3����܂��B ![]() ![]() ![]() ![]() <S3-1> ������ɍŏI�s����������i���j�����MaxRow = Cells(Rows.Count, 1).End(xlUp).Row ![]() ![]() <S4> �g�p�ς݂̍ŏI�Z���̑I�� �iSpecialCells�j����SpecialCells���\�b�h���g�p������ł��BSpecialCells�̈����Ƃ���xlLastCell���w�肷���"�g�p�ς݂̍ŏI�Z��"�Ƃ����Ӗ��ɂȂ�܂��B����̓V���[�g�J�b�g��[Ctrl]+[End]�i�g�p�ς݂̍ŏI�Z����I���j��[Ctrl]+[Shift]+[End]�i�g�p�ς݂̍ŏI�Z���܂ŗ̈���g���j�ɑ������܂��BWith Range("A1").SpecialCells(xlLastCell) MaxRow = .Row MaxCol = .Column End With ��͂肱�̕����ɂ����_������܂��B ![]() ��̂悤�ȃV�[�g������A4�`6�s���폜���܂��B A1�ɃJ�[�\����u���A�L�[�{�[�h����[Ctrl]+[Shift]+[End]�������܂��B ����ƁA�폜�O�̗̈�ł���"A1:E10"���I������Ă��܂��܂��B�����EXCEL�̎d�l���o�O�Ȃ̂��͕s���ł����A���ʂƂ��Đ���������ł��Ă��Ȃ����Ƃ͊m���ł��B���Ȃ݂Ɉ�U���[�N�u�b�N��ۑ�����Ɛ���������ł���悤�ɂȂ�܂��B �܂��s�̑}����Z���̃R�s�[�������ꍇ�͒���ł����������ʂ��Ԃ邩��s�v�c�Ȃ��̂ł��B ![]() <S5> �g�p�ς݂̍ŏI�Z���̑I�� �iUsedRange�j���悢��{���̓o��ł��BUsedRange�v���p�e�B�͎w�肳�ꂽ���[�N�V�[�g�Ŏg��ꂽ�Z���͈͂�Ԃ��܂��BWith ActiveSheet.UsedRange MaxRow = .Rows.Count MaxCol = .Columns.Count End With �ł������̃R�[�h�ɂ͖��炩�ȊԈႢ������̂ł��B �ȉ��̂悤�ȃ��[�N�V�[�g�i�ŏ��̍s�A��ɒl���Ȃ��j�̏ꍇ�AUsedRange��"B2:E10"�i���F�̘g���ň͂܂ꂽ�̈�j�ɂȂ�܂��BRows.Count�͂��̗̈�̍s���Ȃ̂�9�A������Columns.Count��9�ƂȂ�A9��9�s�܂�"D9"��Ԃ��Ă��܂��܂��B �܂��AUsedRange�̓����Ƃ��Ĕ�\���̍s�E���I�[�g�t�B���^�Ŕ�\���ɂȂ��Ă���̈���܂݂܂��̂Œ��ӂ��K�v�ł��B <S5-1> �g�p�ς݂̍ŏI�Z���̑I���i���j �iUsedRange�j<S5>�̌�����������o�[�W�����ł��B��₱�����\���ł����W�J���Ă����Ƃ킩��₷���ł��BWith ActiveSheet.UsedRange MaxRow = .Rows(.Rows.Count).Row MaxCol = .Columns(.Columns.Count).Column End With .Rows(.Rows.Count).Row��UsedRange.Rows(9)�܂�"B2:E10"��9�s�ڂ�\���A����ɂ���.Row�Ƃ������Ƃ̓��[�N�V�[�g��10�s�ڂƂ������ƂɂȂ�܂��B �������A���̃R�[�h��<S4>���l�����t���Z���܂ŃJ�E���g���Ă��܂����͎c���Ă��܂��B <S6> �����t���Z�������O���� �iUsedRange�j�����t���Z�������O���Ēl�̓����Ă���͈͓��̍ŏI�s�A�ŏI������߂���@�ł��BUsedRange�̍ʼn��[�A�ʼnE�[���炻�ꂼ��l�̓����Ă���ŏI�s�A�ŏI�����������Ƃ������̂̂ł��BWith ActiveSheet.UsedRange MaxRow = .Find("*", , xlFormulas, , xlByRows, xlPrevious).Row MaxCol = .Find("*", , xlFormulas, , xlByColumns, xlPrevious).Column End With Range�̃��\�b�h�ł���find�͌����_�C�A���O�i���j���[����[�ҏW]-[����]�j���̂��̂ł��B�������_�C�A���O�̊e�I�v�V�����Ƃقڈ�v���܂��B��1�����͌���������A�����ł�"*"�܂��łȂ��Ȃ�炩�̒l�������Ă���}�b�`���܂��B��3�����͌����Ώۂ�xlFormulas�͐����AxlValues�Œl��\���܂��B��5�����͌��������AxlByColumns�ŗ�����AxlByRows�ōs�����Ɍ������܂��B��6�����͗B��_�C�A���O�ɂ͂Ȃ�xlNext�őO���Ɍ����AxlPrevious�Ō���Ɍ����Ƃ����킯�ł��B �܂Ƃ��Ō�̃R�[�h<S6>�͂���Ƃ��������_���Ȃ��ꉞ�͔͉Ƃ�������̂ł����A�������Ƃ����Ƃ����ł��Ȃ��AVBA�v���O�����ɂ͑����Ƃ������̂����肻�ꂼ�ꓚ�����Ⴄ�̂ł͂Ȃ��ł��傤���B�����Ă��̃v���O������<S3>���邢��<S3-1>�Ŗ��Ȃ����삷��̂ł��B�܂��A�s�E��̔�\����I�[�g�t�B���^�̗L���ɂ���Ă��ꂼ�ꓮ�삪�قȂ�܂��B���ꂼ��̕Ȃ��n�m���Ďg������������̂ł͂Ȃ����Ƃ����̂����_�Ƃ����Ă��������܂��B ![]() |
|||||
�֘A���F | |||||