Tag: 词典

Excel VBA词典存储和检索

你如何创buildExcel VBA字典? 说我有以下值: 如何设置列A作为键,列B作为值? 我是否循环每个值来存储? 我怎么去用字典来获取5的值(“Key A”)

从excel数据循环到每个键有多个值的字典

我相当新的Python,我认为这个问题是相当容易,但我不明白… 我在Excel中有一个数据表,我有B列string和C到I列作为值。 我想创build一个字典,其中为B列中的每个键值,我分配C到列的值我想出了如何做到每行,一次在一次,但我正在寻找for循环语法在整个excel数据表中做到这一点。 这是我的代码: NYSE = {} NYSE.setdefault(sheet['B5'].value, []).append(sheet['C5'].value) NYSE.setdefault(sheet['B5'].value, []).append(sheet['D5'].value) NYSE.setdefault(sheet['B6'].value, []).append(sheet['C6'].value) NYSE.setdefault(sheet['B6'].value, []).append(sheet['D6'].value) print NYSE 我可以保持手动添加到此… B7 C7,B7 D7等,但必须有一种方法来循环此function,并输出字典。

Excel VBA – Objtdict.Keys范围更改时生成一个错误

我正在尝试从列中生成唯一列表。 当范围是B1:B时,我的代码工作正常,但是当它变成B17:B时,它生成NA,并在列B内输出不相关的行中的值。 这是守则, Sub A_Unique_B() Dim X Dim objDict As Object Dim lngRow As Long Set objDict = CreateObject("Scripting.Dictionary") X = Application.Transpose(Range([a1], Cells(Rows.Count, "A").End(xlUp))) For lngRow = 1 To UBound(X, 1) objDict(X(lngRow)) = 1 Next Range("B1:B" & objDict.Count) = Application.Transpose(objDict.keys) End Sub 请纠正我在哪里错了。 我想要输出从列B17开始。

VBA Excel将值添加到字典

好的,也许我只是一直在看这个太久,但我不断得到一个预期的expression式错误,我相信这只是一个语法问题,但我不完全确定。 我循环了一张表,并添加一列的唯一值作为字典的键,同时将与键对应的数字加在一起。 例如,如果我有: A2 B 3 B 4 A 5 C 6 我希望字典看起来像: A 7 B 7 C 6 这是我的代码,任何帮助表示赞赏。 Sub Name() Dim rng As Range Dim x As Integer Dim ranga As String Dim dico As Dictionary Set dico = New Dictionary Dim var As Variant Dim lastrow As Integer With Worksheets("Sheet1") lastrow = […]

检索词典VBA中的第n个键

是否有可能从字典中提取第n个键和其在VBA中的值? 就像是 For i = 1 To Counter + diccompare.Count – UBound(RecSource) WS.Cells(Lastrow + i, "A") = diccompare.Keys(UBound(RecSource) – Counter + i) Next 我在哪里试图分配单元格(Lastrow + i)字典中的键值diccompare(UBound(RecSource) – Counter + i)

简单的VBA:添加并命名词典中键的工作表

这段代码应该循环遍历字典,并为每个项目/键,创build一个新的工作表,并将其命名为项目/键。 项目和键是完全一样的,因为这个字典是从一系列重复项创build的唯一值的数组。 我在最后一行收到错误424对象: Set objDictionary = CreateObject("Scripting.Dictionary") Dim ws As Worksheet For Each i In objDictionary.Items Set ws = Worksheets.Add(Worksheets(Worksheets.Count)) ws.Name = objDictionary.Item(i).Value '<— 424 OBJECT REQUIRED HAPPENS HERE Next

VBA字典是重复的键

有麻烦,需要一些帮助。 我创build了一个简单的例子来学习VBA中的字典,并且已经遇到了一个问题。 我有以下设置: 我正在尝试循环键,添加键和项目。 如果密钥存在,我想添加项目。 发生什么事是钥匙得到重复。 在下面的例子中,我最终得到了2个苹果,而不是1个。我做错了什么? 任何帮助是极大的赞赏。 相关代码如下: Dim wkb As Workbook Dim ws As Worksheet Dim dict As Scripting.Dictionary Set wkb = ActiveWorkbook Set ws = wkb.ActiveSheet 'clearing old totals ws.Range("C8:C9").ClearContents Set dict = New Scripting.Dictionary dict.CompareMode = vbTextCompare For i = 3 To 6 If dict.Exists(ws.Cells(i, "B").Value) = False Then MsgBox "doesnt […]

VBA粘贴单元格存储在另一个工作表中单元格字典

我试图从一个工作表中search一列单元格,find所有的唯一值,然后将这些值粘贴到另一个工作表中的列。 到目前为止,我的代码创build了一个字典,search所需的列,并select该列中的所有唯一值。 Function UniqueRequest() As Long myReqIDCol = ColSearch("id") 'Creates a dictionary filled with each unique value in the "TaskIDList" column and counts them to determine how many unique keys are in the document Set dic = CreateObject("Scripting.Dictionary") For i = 1 To LastRow tmp = Cells(i, myReqIDCol).Value If Not dic.exists(tmp) Then dic.Add tmp, 1 […]

循环通过EXCEL VBA词典

我有一个带有以下数据的VBA词典: ID NAME POSITION 5008004 John Doe 00120096 5008002 John Doe2 00117886 5010010 John Doe3 00117886 我有一个Excellogging下面的单元格: POSITION SUPERVISOR_NAME 00117886 John Doe 00117886 John Doe2 00117886 John Doe3 当前的Excel VBA代码按照以下方式遍历字典: If SUPERVISOR_NAME <> "" Then For Each myKey In superDictionary.Keys If superDictionary(myKey) = SUPERVISOR_NAME Then SUPERVISOR_NAME = myKey Exit For End If Next End If […]

使用VBA轻松通用打印字典到Excel工作表

我正在处理非常复杂的数据。 正因为如此,我写了这个非常好的函数来将数据打印到debugging区域 – 您可以在Excel中的VBA上使用Ctrl + G来访问imediate窗口。 我需要一个类似的函数来打印这个通用数据(数字,string,字典和数组)到工作表。 'call using: Call PrintDict(data) ' Where data can be a number, a string, a dictionary or an Array, ' with any of these inside. Sub PrintDict(ByVal dicttoprint As Variant, Optional indent As Integer = 0, Optional wasdict As Boolean = False) Dim i As Long Dim j As […]