Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用vba从excel中的列逐个打印文本文件中的唯一值_Vba - Fatal编程技术网

如何使用vba从excel中的列逐个打印文本文件中的唯一值

如何使用vba从excel中的列逐个打印文本文件中的唯一值,vba,Vba,我的设想是 如何使用vba从excel中的列逐个打印文本文件中的唯一值 并使用vba在msgbox中逐个显示值 请给我一个建议 提前感谢以下是“msgbox”部分: Sub-main() 暗淡单元格作为范围 对于第(1)列中的每个单元格,SpecialCells(xlCellTypeConstants,xlTextValues)更改列索引以满足您的需要 如果工作表function.CountIf(范围(单元格(1,cell.Column),cell.Value)小于2,则MsgBox cell.

我的设想是

如何使用vba从excel中的列逐个打印文本文件中的唯一值 并使用vba在msgbox中逐个显示值 请给我一个建议

提前感谢

以下是“msgbox”部分:

Sub-main()
暗淡单元格作为范围
对于第(1)列中的每个单元格,SpecialCells(xlCellTypeConstants,xlTextValues)更改列索引以满足您的需要
如果工作表function.CountIf(范围(单元格(1,cell.Column),cell.Value)小于2,则MsgBox cell.Value
下一个
端接头

我将把“打印到文本文件”部分留给您

使用字典收集唯一的值,并循环写入文件和msgbox。@QHarr谢谢您的回复,您能更详细地解释一下吗?I,欢迎使用SO。这里有大量的谷歌搜索结果等例子来帮助你。首先,你们能帮我在文本文件中写一个唯一的值吗?我被困在那个部分了
Sub Unik()
Dim sh As Worksheet, sh2 As Worksheet, lr As Long, rng As Range
Set sh = Sheet1 'Edit sheet name
Dim strFile_Path As String
Dim i As Integer
 Dim iCntr As Long
 Close #1
    Open "C:\Users\Downloads\ghds.txt" For Output As #1
lr = sh.Cells(Rows.Count, 1).End(xlUp).Row
Set rng = sh.Range("A2:A" & lr)
rng.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
sh.Rows(1).Hidden = True
For Each c In rng.SpecialCells(xlCellTypeVisible)
If Mystr = "" Then
Mystr = c.Value
Else
Mystr = Mystr & ", " & c.Value
Print #1, c.Value
End If
Next
Close #1
End Sub
Sub Unik()
Dim sh As Worksheet, sh2 As Worksheet, lr As Long, rng As Range
Set sh = Sheet1 'Edit sheet name
Dim strFile_Path As String
Dim i As Integer
 Dim iCntr As Long
 Close #1
    Open "C:\Users\Downloads\ghds.txt" For Output As #1
lr = sh.Cells(Rows.Count, 1).End(xlUp).Row
Set rng = sh.Range("A2:A" & lr)
rng.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
sh.Rows(1).Hidden = True
For Each c In rng.SpecialCells(xlCellTypeVisible)
If Mystr = "" Then
Mystr = c.Value
Else
Mystr = Mystr & ", " & c.Value
Print #1, c.Value
End If
Next
Close #1
End Sub