使用两列数据并转换为字典最简单的方法是什么?

编程入门 行业动态 更新时间:2024-10-12 03:25:46
本文介绍了使用两列数据并转换为字典最简单的方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在寻找一种方便的方式来获取这些列并转换为字典

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 Function

This breaks on the first empty key value cell.

更多推荐

使用两列数据并转换为字典最简单的方法是什么?

本文发布于:2023-11-26 20:31:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1635089.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:最简单   转换为   字典   方法   数据

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!