Union vba excel описание

Определение блока ячеек, состоящего из объединения двух и более диапазонов, с помощью метода Application.Union из кода VBA Excel. Примеры объединения.

Описание

Application.Union – это метод VBA Excel, который возвращает объект Range, являющийся объединением двух или более указанных диапазонов.

Синтаксис

Application.Union (Arg1, Arg2, Arg3, ..., Arg30)

  • Arg1, Arg2 – обязательные аргументы, представляющие из себя диапазоны ячеек (объекты Range).
  • Arg3, …, Arg30* – необязательные аргументы, представляющие из себя диапазоны ячеек (объекты Range).

* Допустимо использование до 30 аргументов включительно.

Примеры

Пример 1
Объединение диапазонов, занимающих прямоугольную область:

Sub Primer1()

Dim rngun As Range, arg1 As Range, arg2 As Range, arg3 As Range

    Set arg1 = Range(«B2:D6»)

    Set arg2 = Range(«D2:F6»)

    Set arg3 = Range(«B5:F9»)

    Set rngun = Application.Union(arg1, arg2, arg3)

MsgBox «Адрес объединенного диапазона: « & rngun.Address

End Sub

Объединение диапазонов, занимающих прямоугольную область

Объединение диапазонов, занимающих прямоугольную область

Пример 2
Объединение несмежных диапазонов:

Sub Primer2()

Dim rngun As Range, arg1 As Range, arg2 As Range, arg3 As Range

    Set arg1 = Range(«B2:C4»)

    Set arg2 = Range(«E2:F5»)

    Set arg3 = Range(«C7:E9»)

    Set rngun = Application.Union(arg1, arg2, arg3)

MsgBox «Адрес объединенного диапазона: « & rngun.Address

End Sub

Объединение несмежных диапазонов

Объединение несмежных диапазонов

Пример 3
Объединение пересекающихся диапазонов:

Sub Primer3()

Dim rngun As Range, arg1 As Range, arg2 As Range, arg3 As Range

    Set arg1 = Range(«B2:E5»)

    Set arg2 = Range(«C3:F9»)

    Set arg3 = Range(«D4:D10»)

    Set rngun = Application.Union(arg1, arg2, arg3)

MsgBox «Адрес объединенного диапазона: « & rngun.Address

End Sub

Объединение пересекающихся диапазонов

Объединение пересекающихся диапазонов

Самый наглядный вариант объединения ячеек рассмотрен в первом примере, когда объединяемые диапазоны образуют одну прямоугольную область. Во втором и третьем примерах результат объединения аналогичен использованию свойства Range объекта Worksheet:

Set rngun = Range(arg1.Address & «, « & arg2.Address & «, « & arg3.Address)

title keywords f1_keywords ms.prod api_name ms.assetid ms.date ms.localizationpriority

Application.Union method (Excel)

vbaxl10.chm132112

vbaxl10.chm132112

excel

Excel.Application.Union

7c70a5be-2696-5fc2-bd69-6c6ff4d3291e

04/05/2019

medium

Application.Union method (Excel)

Returns the union of two or more ranges.

Syntax

expression.Union (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)

expression A variable that represents an Application object.

Parameters

Name Required/Optional Data type Description
Arg1 Required Range At least two Range objects must be specified.
Arg2 Required Range At least two Range objects must be specified.
Arg3Arg30 Optional Variant A range.

Return value

Range

Example

This example fills the union of two named ranges, Range1 and Range2, with the formula =RAND().

Worksheets("Sheet1").Activate 
Set bigRange = Application.Union(Range("Range1"), Range("Range2")) 
bigRange.Formula = "=RAND()"

This example compares the Worksheet.Range property, Application.Union method, and Application.Intersect method.

Range("A1:A10").Select                            'Selects cells A1 to A10.
Range(Range("A1"), Range("A10")).Select           'Selects cells A1 to A10.
Range("A1, A10").Select                          'Selects cells A1 and A10.
Union(Range("A1"), Range("A10")).Select           'Selects cells A1 and A10.
Range("A1:A5 A5:A10").Select                     'Selects cell A5.
Intersect(Range("A1:A5"), Range("A5:A10")).Select 'Selects cell A5.

[!includeSupport and feedback]

Excel VBA Union

Union in VBA is similar to the union in other programming languages, in VBA we use union to combine two or more than two ranges to perform different sets of operations on them, the statement used for this is itself union and it is called as union method, for example, union(Range(B2:C7),Range(D2:E7)).select and this method will select the cells.

Union method performs the task of creating a union of two or more ranges and returns the result as a RANGE object. This works exactly the same as the below example with VBA RANGE objectRange is a property in VBA that helps specify a particular cell, a range of cells, a row, a column, or a three-dimensional range. In the context of the Excel worksheet, the VBA range object includes a single cell or multiple cells spread across various rows and columns.read more.

Table of contents
  • Excel VBA Union
    • Syntax
    • How to use the VBA Union Method to Join Multiple Range?
      • Example #1
      • Example #2 – Use Variables to Store Range of Cells
    • Error with Union Function
    • Recommended Articles

VBA Union

You are free to use this image on your website, templates, etc, Please provide us with an attribution linkArticle Link to be Hyperlinked
For eg:
Source: VBA Union (wallstreetmojo.com)

Syntax

Now take a look at the syntax of the UNION method.

VBA Union formula 1

We need to supply a minimum of 2 ranges.

  • Arg 1: This is the first range of cells we need to create the union of.
  • Arg 2: This is the second range of cells we need to create a union of.

First two parameters are mandatory, after mentioning two range of cells, then all the other arguments become optional.

When the data is scattered in pieces in cells, we need to combine together all the data range to one to perform a common task. We can create a union of scattered range to one to perform a similar task for all the union ranges.

To select multiple ranges of cells, we can usually use RANGE object. For example, if we want to select the range of cells from A1 to B5 and from B3 to D5, we can write the VBA codeVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more like below.

Code:

Sub Union_Example1()

  Union(Range("A1:B5"), Range("B3:D5")).Select

End Sub

This would select the range of cells like the below image.

VBA Union Example 1

As we can see in the above image first range is selected from A1 to B5, and the second range is selected from B3 to D5.

This is the common technique we all have used while coding. However, this is not the only method we have in coding in VBA; we can also use one more method called “union” to create a union of two or more ranges.

How to use the VBA Union Method to Join Multiple Range?

You can download this VBA Union Excel Template here – VBA Union Excel Template

Example #1

Let’s perform the same take as we did in the above example but this time by using the UNION method.

Step 1 – Open UNION function in the subprocedure.

Code:

Sub Union_Example1()

  Union(

End Sub

VBA Union Example 1-1

Step 2 – Mention the first range of cells using RANGE object. In this case, I am mentioning the first range of cells as A1 to B5.

Code:

Sub Union_Example1()

  Union(Range("A1:A5"),

End Sub

VBA Union Example 1-2

Step 3 – Now mention the second range of cells using RANGE object, in this case, I am mentioning the range of cells as B3 to D5.

Code:

Sub Union_Example1()

  Union(Range("A1:A5"),Range("B3:B5"))

End Sub

VBA Union Example 1-3

Step 4 – After creating the union of these range of cells, we need to decide what we need to do with this union range of cells. Put dot (.) to see the IntelliSense list.

Code:

Sub Union_Example1()

  Union(Range("A1:A5"),Range("B3:B5")).

End Sub

VBA Union Example 1-4

Step 5 – We can see all the available properties and methods of these ranges.

For this example, I will change the Interior colour of union cells. For this I first I need to select the Interior property.

Code:

Sub Union_Example1()

  Union(Range("A1:A5"), Range("B3:B5")).Interior

End Sub

VBA Union Example 1-5

Step 6 – With interior property, we can do many things, but since we need to change the colour of the union cells, I will select Color property.

Code:

Sub Union_Example1()

  Union(Range("A1:A5"), Range("B3:B5")).Interior.Color

End Sub

Example 1-6

Step 7 – Now, we need to set the colour property. I will use a built-in colour index property as vbGreen.

Code:

Sub Union_Example1()

  Union(Range("A1:A5"), Range("B3:B5")).Interior.Color = vbGreen

End Sub

Example 1-7

Step 8 – Now if I run the code colours of the union cells will be changed to Green colour.

Example 1-8

Like this using Union method, we can create unison of two or more range of cells.

Example #2 – Use Variables to Store Range of Cells

All most all the coders use variables to store the reference of the range of cells. For example, look at the below code.

Code:

Sub Union_Example2()

  Dim Rng1 As Range
  Dim Rng2 As Range

  Set Rng1 = Range("A1:B5")
  Set Rng2 = Range("B3:D5")

  Union(Rng1, Rng2).Interior.Color = vbGreen

End Sub

First, I have declared two variables as Range.

Dim Rng1 As Range

Dim Rng2 As Range

Then I have set the reference for these two variables.

Set Rng1 = Range(“A1:B5”)

Set Rng2 = Range(“B3:D5”)

Now variable rng1 holds the reference of Range(“A1:B5”) and the second variable rng2 holds the reference of Range(“B3:D5”).

Then I have applied UNION function to change the interior colour of these range of cells.

This also works exactly the same as the previous one, but using variable makes the code very flexible to use.

Error with Union Function

As I told all the references should be mandatory for the UNION method. For example, look at the below code.

Code:

Sub Union_Example3()

  Dim Rng1 As Range
  Dim Rng2 As Range
  Dim Rng3 As Range

  Set Rng1 = Range("A1:B5")
  Set Rng2 = Range("B3:D5")

  Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen

End Sub

This is similar to the previous, but here I have declared one more variable as Range.

Dim Rng3 As Range

But I have not set the reference to this variable. Rather I just supplied the variable to the UNION function.

Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen

If I run this code, we will get the error like the below.

Error with Union

This is because whatever the variable we supply to the argument should hold some reference of the cells in the worksheet we are working on.

Recommended Articles

This has been a guide to VBA Union Method. Here we discuss how to join multiple ranges using excel VBA Union along with examples and download excel template. You may also have a look at other articles related to Excel VBA –

  • VBA TimeValue
  • Clear Contents in VBA
  • Excel VBA CDBL Function
  • Excel VBA ArrayList
  • VBA RegEx

VBA Union

VBA Union

As the word itself suggests union means joining one or more things. In VBA Union means joining two or more ranges together. This function is similar to the range function in excel. This is the most common situation in our work when we need to combine one or more ranges with each other. Union function comes very handily in those situations.

VBA Union functions are used to combine one or more ranges as explained above. We can use this function to combine ranges that have some kind of common criteria. For example, if our data has value less than a specific value we can use this function to combine those ranges and highlight them.

Syntax of VBA Union in Excel

The syntax for Union function is as follows:

union Syntax

So for example, if we want to combine a range A1: A5 and B1: B5 we will use the following formula,

Union (Range (“A1:A5”), Range (“B1:B5”)

We can do much more with this function and we will see through various examples on how to use this function in VBA.

First, let us make sure that we have a developer’s tab enabled from the files tab in the options section so that we can start using VBA in excel.

How to Use VBA Union Function in Excel?

We will learn how to use a VBA Union function with few examples in excel.

You can download this VBA Union Excel Template here – VBA Union Excel Template

Example #1 – VBA Union

In the first example let us try to select two ranges together. Let us select A1:A5 and B1:B5 range together in this example.

Follow the below steps to use VBA Union function in Excel:

Step 1: Of course we need to open VB editor from visual basic which is in the developer’s tab.

VBA Union Example 1

Step 2: Now once we are in VB Editor go ahead and insert a new module from the insert section. The module we have inserted double click on it so that we can start writing code.

Module Union Example 1.1

Step 3: Once we are in the code window, name the macro as follows,

Code:

Sub sample()

End Sub

VBA Union Example1

Step 4: Since we will be working with sheet 1 we need to activate it first in order to use its properties.

Code:

Sub sample()

Worksheets("Sheet1").Activate

End Sub

WorkSheet 1 Active

Step 5: Now we will use union function to combine the two ranges we have discussed above with the following code.

Code:

Sub sample()

Worksheets("Sheet1").Activate
Application.Union(Range("A1:A5"), Range("B1:B5")).Select

End Sub

VBA Worksheet Active 1

Step 6: Once we execute the code above we can see in sheet 1 that those two ranges are in our selection. Press F5 or do it manually from run button to see the following result.

VBA Union Example 1

In the above example, we have only selected the two ranges but we can do much more which we will learn in the next examples.

Example #2 – VBA Union

Now in this example let us select two ranges as above together and change their interior color. We can change format or change values once we combine and select the ranges together.

Step 1: Go to Insert Menu and click on the module

Module union 2

Step 2: Declare a name for the subfunction for the second example,

Code:

Sub Sample1()

End Sub

Sub Sample

Step 3: Now let us activate sheet 2 first since we are going to use the properties of sheet 2 in this example.

Code:

Sub Sample1()

Worksheets("Sheet2").Activate

End Sub

WorkSheet 2 Active

Step 4: Combine two ranges A1:B5 and C1:D5 with range function and change the interior color to dark red by the following code.

Code:

Sub Sample1()

Worksheets("Sheet2").Activate
Application.Union(Range("A1:B5"), Range("C1:D5")).Interior.Color = 255

End Sub

WorkSheet Active 2

Step 5: Execute the above and see the result in sheet 2 as follows,

VBA Union 1

We have changed the color of the ranges after combining them as we can see that they are still in selection.

Example #3 – VBA Union

Now let use union function to display the address after combining ranges. We will combine range A1:C4 and E1:F4 and display the address in the Immediate window. An immediate window is just below our code window or we can press CTRL + G to bring it up.

Step 1:  Go to Insert Menu and click on the module,

Module

Step 2: Name the macro name for this third example.

Code:

Sub Sample2()

End Sub

VBA Union Example 3.1

Step 3: Declare two variables as a range in the next step as follows.

Code:

Sub Sample2()
Dim rng1 As Range
    Dim item As Range

End Sub

VBA Union Example 3.2

Step 4: Now set an rng1 variable as the union of the range A1: C4 and E1: F4 as follows,

Code:

Sub Sample2()
Dim rng1 As Range
    Dim item As Range
    Set rng1 = Union(Range("A1:C4"), Range("E1:F4"))
End Sub

VBA Union Example 3.3

Step 5: Now use for loop to bring the address of these cells from the combined ranges by the following code,

Code:

Sub Sample2()
Dim rng1 As Range
    Dim item As Range
    Set rng1 = Union(Range("A1:C4"), Range("E1:F4"))
    For Each item In rng1
        Debug.Print item.Address
    Next item
End Sub

VBA Union Example 3.4

Step 6: Once we run the above code we can see the result in the immediate window as follows,

VBA Union 3

Application of VBA Union

VBA union is used by the following syntax:

Expression.Union(range1, range2,…..)

Here we can use as many ranges as we require.

Things to Remember

There are few things which we need to remember about the union in VBA:

  • The union is used to combine two or more ranges together.
  • The ranges we give to the function must exist to avoid an error.
  • Instead of Application. Union we can simply use the union as we are working in excel itself.

Recommended Articles

This is a guide to VBA Union. Here we discuss how to use Excel VBA Union Function along with practical examples and downloadable excel template. You can also go through our other suggested articles –

  1. VBA Copy Paste
  2. VBA XML
  3. VBA Subscript out of Range
  4. VBA Login

Return to VBA Code Examples

In this Article

  • Union
  • Intersect
  • Use of Intersect

Excel VBA has two methods, belonging to Application object, to manipulate two or more ranges: Union and Intersect.

Union

Union method returns all the cells in two or more ranges passed as its argument.

The following command will select the range shown in the image below:

Union(Range("A1:B4"),Range("B3:C6")).Select

vba union selection

You can assign any value or formula to the range returned by the Union method:

Union(Range("A1:B4"), Range("B3:C6")) = 10

This will enter the value 10 in each cell in the Union.

You can wrap any function which summarizes a range around an Union method. Following example will return the sum of the values in the Ranges A1:B4 and B3:C6:

Result = Application.WorksheetFunction.Sum(union(Range("A1:B4"), Range("B3:C6")))

You might be surprised to get the value in Result as 160! Although there are only 14 cells in the Union (8 in each range with 2 being common) when you look at Selection, Union actually returns 16 cells hence the Result as 160.

Intersect

Intersect method returns only the common cells in two or more ranges passed as its argument.

The following command will select the range shown (Gray area) in the image below:

Intersect(Range("A1:B4"),Range("B3:C6")).Select

vba intersect selection

Use of Intersect

The most common usage of Intersect is in events associated with a Worksheet or Workbook. It is used to test whether the cell(s) changed belong to a a range of interest. Following example with check whether the cell(s) changed (identified by Target) and Range A1:A10  are common and take appropriate action if they are.

Intersect object returns nothing if there are no common cells so Intersect(Target, Range(“A1:A10”)) Is Nothing will be True if there are no common cells. Adding Not to the condition makes it True only if the result of the test Intersect(Target, Range(“A1:A10”)) Is Nothing is False, in other words Target and Range A1:A10 have some cells in common.

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
		' Take desired action
	End If
End Sub

Written by: Vinamra Chandra

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
vba save as

Learn More!

Содержание

  1. Application.Union method (Excel)
  2. Syntax
  3. Parameters
  4. Return value
  5. Example
  6. Support and feedback
  7. Use VBA Union to Combine Ranges
  8. The VBA Tutorials Blog
  9. Basic VBA Union Macro
  10. Using VBA Union Method
  11. Working with the Combined Range
  12. Select Subset of a Range with VBA Union
  13. Store numbers in different ranges based on value
  14. VBA Union Limitations
  15. Undefined (Nothing) parameters
  16. VBA Union on overlapping ranges
  17. Closing Thoughts
  18. Метод Application.Union (Excel)
  19. Синтаксис
  20. Параметры
  21. Возвращаемое значение
  22. Пример
  23. Поддержка и обратная связь
  24. VBA Union — Как использовать функцию Excel VBA Union?
  25. VBA Union
  26. Синтаксис VBA Union в Excel
  27. Как использовать функцию объединения VBA в Excel?
  28. Пример № 1 — VBA Union
  29. Пример № 2 — VBA Union
  30. Пример № 3 — VBA Union
  31. Применение VBA Union
  32. То, что нужно запомнить
  33. Рекомендуемые статьи

Application.Union method (Excel)

Returns the union of two or more ranges.

Syntax

expression A variable that represents an Application object.

Parameters

Name Required/Optional Data type Description
Arg1 Required Range At least two Range objects must be specified.
Arg2 Required Range At least two Range objects must be specified.
Arg3 – Arg30 Optional Variant A range.

Return value

Example

This example fills the union of two named ranges, Range1 and Range2, with the formula =RAND().

This example compares the Worksheet.Range property, Application.Union method, and Application.Intersect method.

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Use VBA Union to Combine Ranges

The VBA Tutorials Blog

The VBA Union method in Excel is designed to combine ranges into a single range. You can use VBA Union to combine multiple ranges based on a common criteria, like all positive numbers, or even use it to select a subset of a larger range.

This tutorial will introduce you to the VBA Union method and provide several examples to show you its limitations and teach you how to properly use it.

Basic VBA Union Macro

We’re going to start this tutorial with a basic Union example. Stick with us though because soon we’ll be discussing some very important limitations of the VBA Union method.

Make powerful macros with our free VBA Developer Kit

Tutorials like this can be complicated. That’s why we created our free VBA Developer Kit and our Big Book of Excel VBA Macros to supplement this tutorial. Grab them below and you’ll be writing powerful macros in no time.

Using VBA Union Method

When you run this macro, the ranges A1:C4 and E1:F4 are combined into one range, which we stored in variable rng1 . Notice how we use the Set keyword to set our unified range to the variable rng1 . You can’t assign the combined range to the variable without the Set keyword.

After the union method is applied to the ranges, the macro selects the newly combined range, so you’re left with this:

It’s worthwhile to mention that the VBA Union method isn’t actually a global VBA method. It’s really a member of the Excel Type Library, so it technically should be entered like Application.Union(. ) . Since we’re typically working directly in Excel when applying the Union method, we’re going to drop the Application and simply use the shorthand Union(. ) notation here.

Working with the Combined Range

Selecting the combined range is just one of many things you can do with your newly created range object. You can iterate through each item in your combined range with a simple For Loop, like this:

When you run this macro, the address of each item in the range rng1 is printed to your immediate window, which you can open by pressing Ctrl+G from your VBA Editor.

Select Subset of a Range with VBA Union

One creative use for the VBA Union method is to use it to select a subset of cells in a range based on common criteria. For example, let’s say we wanted to store all the positive numbers in a column to a single variable. How would you do that?

One way to do it is to iterate through each item in the column and apply the union method to each new positive number you encounter. There are simpler ways to do this, but we’re here to demonstrate the VBA Union method.

To start, assume we have this dataset in our spreadsheet.

We’re going to loop through each row in this column and store each positive number in a shared range. To make things interesting, we’re actually going to use Union to store all zeroes in a range, all positive numbers in a range, and all negative numbers in a range. That way, you can see the true power of organizing your data into separate ranges using the Union method. Doing it this way will also highlight some of the limitations of the Union method.

Take a look at this macro:

Store numbers in different ranges based on value

In this example, we use the VBA IsNumeric function to check if a cell is a number. If it is, we then categorize it based on value (greater than 0, less than 0, equal to 0).

Again, there are definitely quicker ways to produce results like this, but we’re here to demonstrate how you can use the Union method in your own macros. Once you run this macro, your final column will look like this:

Negative values will be red, cells equal to zero will be italicized, and all positive values will be selected.

VBA Union Limitations

Undefined (Nothing) parameters

The macro above highlights one of the primary limitations of the VBA Union method. Notice how we have an IF statement like this after testing the value of each cell:

We have to perform this check because the Union method can’t combine ranges if one of the ranges doesn’t exist. In other words, until we define rngPOSITIVE the first time, we can’t include it in our Union statement.

If we try to include a range equal to Nothing in a Union expression, we’ll get an “invalid procedure call or argument” error:

The first time you encounter a cell fitting your criteria, you have to add it to your range the traditional way, like this:

After the range is defined the first time, you can add to the existing range with the Union command.

VBA Union on overlapping ranges

The second limitation deals with duplicates in a range. It’s important to point out that the VBA Union method is not the same as the mathematical Union operation. If the ranges you want to combine intersect, VBA Union will list the intersecting ranges twice. Take the following macro, for example.

In this example, the two ranges overlap, which is obvious when you select the combined range:

Now take a look at you immediate window. You’ll notice that B2 and B3 are printed twice.

Because the intersecting ranges are included in your range twice, you’ll need to be careful when using the combined range in your macro.

Closing Thoughts

I use the VBA Union method often when I want to combine all the cells meeting a complex criteria into a common range. How do you plan on using the VBA Union method?

I hope you’ll take a minute to subscribe for more VBA tips. Simply fill out the form below and we’ll share our best time-saving VBA tips.

Ready to do more with VBA?
We put together a giant PDF with over 300 pre-built macros and we want you to have it for free. Enter your email address below and we’ll send you a copy along with our VBA Developer Kit, loaded with VBA tips, tricks and shortcuts.

Before we go, I want to let you know we designed a suite of VBA Cheat Sheets to make it easier for you to write better macros. We included over 200 tips and 140 macro examples so they have everything you need to know to become a better VBA programmer.

Источник

Метод Application.Union (Excel)

Возвращает объединение двух или более диапазонов.

Синтаксис

выражение: переменная, представляющая объект Application.

Параметры

Имя Обязательный или необязательный Тип данных Описание
Arg1 Обязательный Range Необходимо указать по крайней мере два объекта Range .
Arg2 Обязательный Range Необходимо указать по крайней мере два объекта Range .
Arg3Arg30 Необязательный Variant Диапазон.

Возвращаемое значение

Пример

В этом примере объединение двух именованных диапазонов, Range1 и Range2, заполняется формулой =RAND().

В этом примере сравнивается свойство Worksheet.Range , метод Application.Union и метод Application.Intersect .

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

VBA Union — Как использовать функцию Excel VBA Union?

VBA Union

Само по себе слово «союз» означает объединение одной или нескольких вещей. В VBA Union означает объединение двух или более диапазонов. Эта функция похожа на функцию диапазона в Excel. Это наиболее распространенная ситуация в нашей работе, когда нам нужно объединить один или несколько диапазонов друг с другом. Функция объединения в таких ситуациях очень удобна.

Функции VBA Union используются для объединения одного или нескольких диапазонов, как описано выше. Мы можем использовать эту функцию для объединения диапазонов, которые имеют какие-то общие критерии. Например, если наши данные имеют значение меньше определенного значения, мы можем использовать эту функцию, чтобы объединить эти диапазоны и выделить их.

Синтаксис VBA Union в Excel

Синтаксис для функции объединения выглядит следующим образом:

Так, например, если мы хотим объединить диапазон A1: A5 и B1: B5, мы будем использовать следующую формулу:

Союз (диапазон («A1: A5»), диапазон («B1: B5»)

С этой функцией мы можем сделать гораздо больше, и на разных примерах мы увидим, как использовать эту функцию в VBA.

Во-первых, давайте удостоверимся, что у нас включена вкладка разработчика на вкладке файлов в разделе параметров, чтобы мы могли начать использовать VBA в Excel.

Как использовать функцию объединения VBA в Excel?

Мы научимся использовать функцию VBA Union с несколькими примерами в Excel.

Вы можете скачать этот шаблон VBA Union Excel здесь — Шаблон VBA Union Excel

Пример № 1 — VBA Union

В первом примере попробуем выбрать два диапазона вместе. Давайте выберем диапазон A1: A5 и B1: B5 вместе в этом примере.

Чтобы использовать функцию VBA Union в Excel, выполните следующие действия:

Шаг 1: Конечно, нам нужно открыть редактор VB из Visual Basic, который находится на вкладке разработчика.

Шаг 2: Теперь, как только мы окажемся в VB Editor, добавьте новый модуль из раздела вставки. Модуль, который мы вставили, дважды щелкнул по нему, чтобы мы могли начать писать код.

Шаг 3: Как только мы окажемся в окне кода, назовите макрос следующим образом:

Код:

Шаг 4: Поскольку мы будем работать с листом 1, нам нужно сначала активировать его, чтобы использовать его свойства.

Код:

Шаг 5: Теперь мы будем использовать функцию объединения, чтобы объединить два диапазона, которые мы обсуждали выше, со следующим кодом.

Код:

Шаг 6: Как только мы выполним приведенный выше код, мы увидим на листе 1, что эти два диапазона находятся в нашем выборе. Нажмите F5 или сделайте это вручную с кнопки запуска, чтобы увидеть следующий результат.

В приведенном выше примере мы выбрали только два диапазона, но мы можем сделать гораздо больше, что мы узнаем в следующих примерах.

Пример № 2 — VBA Union

Теперь в этом примере давайте выберем два диапазона, как указано выше, и изменим их цвет интерьера. Мы можем изменить формат или изменить значения, как только мы объединяем и выбираем диапазоны вместе.

Шаг 1: Перейдите в меню «Вставка» и нажмите на модуль

Шаг 2. Объявите имя подфункции для второго примера.

Код:

Шаг 3: Теперь давайте сначала активируем лист 2, так как мы собираемся использовать свойства листа 2 в этом примере.

Код:

Шаг 4: Объедините два диапазона A1: B5 и C1: D5 с функцией диапазона и измените цвет салона на темно-красный с помощью следующего кода.

Код:

Шаг 5: Выполните вышеописанное и посмотрите результат на листе 2 следующим образом:

Мы изменили цвет диапазонов после их объединения, поскольку видим, что они все еще находятся в выделении.

Пример № 3 — VBA Union

Теперь давайте использовать функцию объединения для отображения адреса после объединения диапазонов. Мы скомбинируем диапазон A1: C4 и E1: F4 и отобразим адрес в окне Immediate. Непосредственное окно находится чуть ниже нашего окна кода, или мы можем нажать CTRL + G, чтобы вызвать его.

Шаг 1: Перейдите в меню «Вставка» и нажмите на модуль,

Шаг 2: Назовите имя макроса для этого третьего примера.

Код:

Шаг 3: Объявите две переменные в качестве диапазона на следующем шаге следующим образом.

Код:

Шаг 4: Теперь установите переменную rng1 как объединение диапазона A1: C4 и E1: F4 следующим образом:

Код:

Шаг 5: Теперь используйте цикл for, чтобы вывести адрес этих ячеек из объединенных диапазонов с помощью следующего кода:

Код:

Шаг 6: Как только мы запустим приведенный выше код, мы увидим результат в ближайшем окне следующим образом:

Применение VBA Union

VBA union использует следующий синтаксис:

Expression.Union (range1, range2, … ..)

Здесь мы можем использовать столько диапазонов, сколько нам нужно.

То, что нужно запомнить

Есть несколько вещей, которые мы должны помнить о союзе в VBA:

  • Объединение используется для объединения двух или более диапазонов вместе.
  • Диапазоны, которые мы даем функции, должны существовать, чтобы избежать ошибки.
  • Вместо приложения. Союз, мы можем просто использовать союз, так как мы работаем в самом Excel.

Рекомендуемые статьи

Это руководство к VBA Union. Здесь мы обсудим, как использовать функцию Excel VBA Union вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Функция копирования и вставки в VBA
  2. Функция подстроки Excel
  3. Индекс VBA вне диапазона
  4. Excel ISNUMBER Formula

Источник

  • VBA Union

VBA Union

Само по себе слово «союз» означает объединение одной или нескольких вещей. В VBA Union означает объединение двух или более диапазонов. Эта функция похожа на функцию диапазона в Excel. Это наиболее распространенная ситуация в нашей работе, когда нам нужно объединить один или несколько диапазонов друг с другом. Функция объединения в таких ситуациях очень удобна.

Функции VBA Union используются для объединения одного или нескольких диапазонов, как описано выше. Мы можем использовать эту функцию для объединения диапазонов, которые имеют какие-то общие критерии. Например, если наши данные имеют значение меньше определенного значения, мы можем использовать эту функцию, чтобы объединить эти диапазоны и выделить их.

Синтаксис VBA Union в Excel

Синтаксис для функции объединения выглядит следующим образом:

Так, например, если мы хотим объединить диапазон A1: A5 и B1: B5, мы будем использовать следующую формулу:

Союз (диапазон («A1: A5»), диапазон («B1: B5»)

С этой функцией мы можем сделать гораздо больше, и на разных примерах мы увидим, как использовать эту функцию в VBA.

Во-первых, давайте удостоверимся, что у нас включена вкладка разработчика на вкладке файлов в разделе параметров, чтобы мы могли начать использовать VBA в Excel.

Как использовать функцию объединения VBA в Excel?

Мы научимся использовать функцию VBA Union с несколькими примерами в Excel.

Вы можете скачать этот шаблон VBA Union Excel здесь — Шаблон VBA Union Excel

Пример № 1 — VBA Union

В первом примере попробуем выбрать два диапазона вместе. Давайте выберем диапазон A1: A5 и B1: B5 вместе в этом примере.

Чтобы использовать функцию VBA Union в Excel, выполните следующие действия:

Шаг 1: Конечно, нам нужно открыть редактор VB из Visual Basic, который находится на вкладке разработчика.

Шаг 2: Теперь, как только мы окажемся в VB Editor, добавьте новый модуль из раздела вставки. Модуль, который мы вставили, дважды щелкнул по нему, чтобы мы могли начать писать код.

Шаг 3: Как только мы окажемся в окне кода, назовите макрос следующим образом:

Код:

 Sub sample () End Sub 

Шаг 4: Поскольку мы будем работать с листом 1, нам нужно сначала активировать его, чтобы использовать его свойства.

Код:

 Sub sample () Worksheets ("Sheet1"). Активировать End Sub 

Шаг 5: Теперь мы будем использовать функцию объединения, чтобы объединить два диапазона, которые мы обсуждали выше, со следующим кодом.

Код:

 Sub sample () Worksheets ("Sheet1"). Активируйте Application.Union (Range ("A1: A5"), Range ("B1: B5")). Выберите End Sub 

Шаг 6: Как только мы выполним приведенный выше код, мы увидим на листе 1, что эти два диапазона находятся в нашем выборе. Нажмите F5 или сделайте это вручную с кнопки запуска, чтобы увидеть следующий результат.

В приведенном выше примере мы выбрали только два диапазона, но мы можем сделать гораздо больше, что мы узнаем в следующих примерах.

Пример № 2 — VBA Union

Теперь в этом примере давайте выберем два диапазона, как указано выше, и изменим их цвет интерьера. Мы можем изменить формат или изменить значения, как только мы объединяем и выбираем диапазоны вместе.

Шаг 1: Перейдите в меню «Вставка» и нажмите на модуль

Шаг 2. Объявите имя подфункции для второго примера.

Код:

 Sub Sample1 () End Sub 

Шаг 3: Теперь давайте сначала активируем лист 2, так как мы собираемся использовать свойства листа 2 в этом примере.

Код:

 Sub Sample1 () Worksheets ("Sheet2"). Активировать End Sub 

Шаг 4: Объедините два диапазона A1: B5 и C1: D5 с функцией диапазона и измените цвет салона на темно-красный с помощью следующего кода.

Код:

 Sub Sample1 () Worksheets ("Sheet2"). Активируйте Application.Union (Range ("A1: B5"), Range ("C1: D5")). Interior.Color = 255 End Sub 

Шаг 5: Выполните вышеописанное и посмотрите результат на листе 2 следующим образом:

Мы изменили цвет диапазонов после их объединения, поскольку видим, что они все еще находятся в выделении.

Пример № 3 — VBA Union

Теперь давайте использовать функцию объединения для отображения адреса после объединения диапазонов. Мы скомбинируем диапазон A1: C4 и E1: F4 и отобразим адрес в окне Immediate. Непосредственное окно находится чуть ниже нашего окна кода, или мы можем нажать CTRL + G, чтобы вызвать его.

Шаг 1: Перейдите в меню «Вставка» и нажмите на модуль,

Шаг 2: Назовите имя макроса для этого третьего примера.

Код:

 Sub Sample2 () End Sub 

Шаг 3: Объявите две переменные в качестве диапазона на следующем шаге следующим образом.

Код:

 Sub Sample2 () Dim rng1 As Range Dim item Как Sub End End 

Шаг 4: Теперь установите переменную rng1 как объединение диапазона A1: C4 и E1: F4 следующим образом:

Код:

 Sub Sample2 () Dim rng1 As Range Dim Item As Range Set rng1 = Объединение (Range ("A1: C4"), Range ("E1: F4")) End Sub 

Шаг 5: Теперь используйте цикл for, чтобы вывести адрес этих ячеек из объединенных диапазонов с помощью следующего кода:

Код:

 Sub Sample2 () Dim rng1 As Range Dim item В качестве диапазона Set rng1 = Union (Range ("A1: C4"), Range ("E1: F4")) для каждого элемента в rng1 Debug.Print item.Address Следующий элемент End Sub 

Шаг 6: Как только мы запустим приведенный выше код, мы увидим результат в ближайшем окне следующим образом:

Применение VBA Union

VBA union использует следующий синтаксис:

Expression.Union (range1, range2, … ..)

Здесь мы можем использовать столько диапазонов, сколько нам нужно.

То, что нужно запомнить

Есть несколько вещей, которые мы должны помнить о союзе в VBA:

  • Объединение используется для объединения двух или более диапазонов вместе.
  • Диапазоны, которые мы даем функции, должны существовать, чтобы избежать ошибки.
  • Вместо приложения. Союз, мы можем просто использовать союз, так как мы работаем в самом Excel.

Рекомендуемые статьи

Это руководство к VBA Union. Здесь мы обсудим, как использовать функцию Excel VBA Union вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Функция копирования и вставки в VBA
  2. Функция подстроки Excel
  3. Индекс VBA вне диапазона
  4. Excel ISNUMBER Formula

Like this post? Please share to your friends:
  • Update word table of contents
  • Union meaning of word
  • Union all excel vba
  • Uniform not a word
  • Unicode utf 8 word