添加联合以提高VBA代码的效率

时间:2018-09-11 15:51:27

标签: excel vba excel-vba range

我在工作簿中有代码,该代码可以完全按照我的要求工作,但是我正在寻找提高效率/速度的方法。我的想法是为所有空白行添加一个并集,并一次隐藏该范围。能做到吗?

    Sub HideRws()
   Dim Rng As Range, Cl As Range
   With Sheet3
      For Each Cl In .Range("A11:A60")
         Cl.EntireRow.Hidden = Cl.Value = ""
      Next Cl
      For Each Rng In .Range("A71:A120, A131:A180, A190:A239").Areas
         If Rng(1) = "" Then
            Rng.Offset(-6).Resize(58).EntireRow.Hidden = True
         Else
            For Each Cl In Rng
               Cl.EntireRow.Hidden = Cl.Value = ""
            Next Cl
         End If
      Next Rng
   End With
End Sub

1 个答案:

答案 0 :(得分:1)

我认为这也是一样的事情:

CREATE TABLE movie
(
     movie_id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
     movie_name NVARCHAR(100),
     title_date DATE
);

CREATE TABLE writer
(
     writer_id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
     writer_name NVARCHAR(100),
     birth_date DATE
);

INSERT INTO movie 
VALUES ('Batman', '2015-12-12'), ('Robin', '2016-12-12'),
       ('Charzard, the movie', '2018-12-12')

INSERT INTO writer 
VALUES ('Christopher', '1978-12-12'), ('Craig', '1989-12-12'),
       ('Ash', '1934-12-12')  

CREATE TABLE movie_writer_junction
( 
     movie_id  INT,
     writer_id INT,

     CONSTRAINT movie_writer_pk 
         PRIMARY KEY(movie_id, writer_id),
     CONSTRAINT movie_id_fk 
         FOREIGN KEY(movie_id) REFERENCES movie(movie_id),
     CONSTRAINT writer_fk 
         FOREIGN KEY(writer_id) REFERENCES writer(writer_id)
);