簡體   English   中英

如何遍歷兩列的范圍並在每一步中連續選擇兩列?

[英]How do I iterate through a range of two columns and select both columns in a row at each step?

我正在嘗試自動化定義名稱的任務。 具體來說,我有兩列A和B,其中B是從屬的:

A          B
Label1     Data1
Label2     Data2
Label3     Data3

我想選擇一個已定義范圍內的兩列,然后對其進行遍歷,使用列A中的名稱定義列B。我認為可以使用FOR EACH構造,但是我找不到關於Excel如何准確讀取每個項目的任何信息在每個。 它是否將當前行中的兩列都視為一個單元(這對我而言可能很理想)? 是否先迭代一列然后再迭代另一列? 是否會迭代行中的每一列,然后向下移動?

最終,我將針對3或4對色譜柱進行此操作。 最后,它們將用於在用戶表單中填充標簽或選擇框。 例如,如果您從ComboCox的“培根”中選擇,則依賴於它的標簽將填充為“雞蛋”。 如果選擇“燕麥片”,則會填充“葡萄干”。

我有想要鏈接的大列,並且想出一個快速宏可以使其更快。

謝謝

這么遠的代碼:

Sub FeatureNumberAssignMk2()
'
' FeatureNumberAssignMk2 Macro
'
' Keyboard Shortcut: Ctrl+Shift+L
'
Dim myCells As Range

Set myCells = Selection
For Each Row In myCells
    ' THIS IS WHERE I AM NOT SURE WHAT IS BEING SELECTED
    Row.CreateNames Top:=False, Left:=True, Bottom:=False, Right:= _
    False
Next
End Sub

無需循環。 如果選擇包含兩列的范圍,則該命令將使用第一列中的文本為每一行創建一個名稱。

myCells.Row.CreateNames Top:=False, Left:=True, Bottom:=False, Right:=False

...但是我找不到關於Excel如何准確地讀取FOR EACH中每個項目的任何信息...

供您參考,這是測試For Each將如何循環的簡單方法:

Dim Cell As Range
Dim Rng As Range

Set Rng = Range("A1:B5")

For Each Cell In Rng
    Debug.Print Cell.Address
Next Cell

即時窗口的輸出如下:

$A$1
$B$1
$A$2
$B$2
$A$3
$B$3
$A$4
$B$4
$A$5
$B$5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM