本文介绍了使用两列数据并转换为字典最简单的方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在寻找一种方便的方式来获取这些列并转换为字典
strong>列A中的单元格是,列B是值,如下所示: Dim dict as Dictionary Set dict = CreateDictFromColumns(SheetName,A,B)注意:我已经在引用脚本dll。
解决方案需要循环,例如
函数CreateDictFromColumns(sheet As String,keyCol As String,valCol As String)As Dictionary 设置CreateDictFromColumns =新词典 Dim rng As Range:Set rng = Sheets(sheet).Range(keyCol&:& valCol) Dim i As Long Dim lastCol As Long '// for non-adjacent(A:ZZ) lastCol = rng.Columns.Count For i = 1 To rng.Rows.Count I f(rng(i,1).Value =)然后退出函数 CreateDictFromColumns.Add rng(i,1).Value,rng(i,lastCol).Value Next 结束函数这将在第一个空键值单元格中断。
I have a worksheet with data in columns A and B.
I am looking for a convenient way to take these columns and convert to dictionary where the cell in column A is the key and column B is the value, something like :
Dim dict as Dictionary Set dict = CreateDictFromColumns("SheetName", "A", "B")NOTE: I am already referencing the scripting dll.
解决方案You would need to loop, E.g.
Function CreateDictFromColumns(sheet As String, keyCol As String, valCol As String) As Dictionary Set CreateDictFromColumns = New Dictionary Dim rng As Range: Set rng = Sheets(sheet).Range(keyCol & ":" & valCol) Dim i As Long Dim lastCol As Long '// for non-adjacent ("A:ZZ") lastCol = rng.Columns.Count For i = 1 To rng.Rows.Count If (rng(i, 1).Value = "") Then Exit Function CreateDictFromColumns.Add rng(i, 1).Value, rng(i, lastCol).Value Next End FunctionThis breaks on the first empty key value cell.
更多推荐
使用两列数据并转换为字典最简单的方法是什么?
发布评论