vba show Multi data

对于多行多列数据,基本使用Worksheet中的Range就可以处理了。但是在UserForm类型的应用中,也时常需要处理多行多列的数据。在UserForm中,显示和处理多列数据,通常可以有的选择有以下几种:DataGrid,ListView,ListBox。前面两类相当强大,但是也比较复杂,一般的简单应用中用不到。

DataGrid

  DataGrid控件天生就是为了处理像Recordset这种数据而准备的,与它类似的数据控件(其它公司提供的数据控件)也还有其它几种,这里并不是重点,所以简单介绍一下。默认情况下,VBE中是看不到这个控件的,需要下载DATGDCHS.dll并放到C:\winnt\system32\下,然后运行命令“regsvr32 DATGDCHS.dll”注册。注册完成后,选择"Tools"菜单下的"Additional Controls..."菜单项,添加对应的控件到工具箱中就可以了。

  DataGrid最重要的属性就是DataSource属性,就是设置表格的数据源。其它的也可以设置列的一些属性,这里就不详细介绍了。需要的同学请自备Google并自行搜索。



ListView

  ListView也是处理这类型数据的一个选择,功能也比较强大,特别是可以设置图标,在很多时候还是很适合使用的。下面的伪代码介绍了常用的属性和方法:


复制代码

Dim currentItem As ListItem
'清除listview1中的标题
ListView1.ColumnHeaders.Clear
'清除listview1中的内容
ListView1.ListItems.Clear

With Sheets(1)
'添加列标题
ListView1.ColumnHeaders.Add 1, , .Cells(1, 1), ListView1.Width / 9
ListView1.ColumnHeaders.Add 2, , .Cells(1, 2), ListView1.Width / 9
'显示为报表视图
ListView1.View = lvwReport
'选取整行
ListView1.FullRowSelect = True
'复选框
ListView1.CheckBoxes = True
ListView1.BackColor = RGB(255, 199, 9)

For i = 5 To .[A65536].End(xlUp).Row
'为listview1控件里面的行添加内容
Set currentItem = ListView1.ListItems.Add()
currentItem.Text = .Cells(i, 1) '为行标赋值
currentItem.SubItems(1) = .Cells(i, 2)
currentItem.SubItems(2) = .Cells(i, 3)
currentItem.SubItems(3) = .Cells(i, 4)

'为里面的第三列调整相应的字体大小及颜色
With currentItem.ListSubItems.Item(2)
If .Text < 2 Then
.ForeColor = RGB(255, 0, 0)
Else
.Bold = True
.ForeColor = RGB(0, 0, 255)
End If
End With

Next i
End With

复制代码

默认情况下,ListView不会出现在工具箱中,需要在“Tools”菜单中,点击“Additional Controls...”菜单,打开对话框,勾选“Microsoft ListView Control,version 6.0”,然后在工具箱中就可以使用了。

经典的ListView双击列头排序的方法如下(使用了"^"与"v"去标示了排序的顺序,如果使用图片的话也是可以的):


复制代码

Private Sub lstAllocatonList_ColumnClick(ByVal columnHeader As MSComctlLib.columnHeader)
SetSortMark columnHeader
With lstAllocatonList

If (columnHeader.Index - 1) = .SortKey Then
.SortOrder = (.SortOrder + 1) Mod 2
Else
.Sorted = False
.SortOrder = 0
.SortKey = columnHeader.Index - 1
.Sorted = True
End If
End With
End Sub
Private Sub SetSortMark(columnHeader As MSComctlLib.columnHeader)
Dim i As Integer
Dim suffix As String
suffix = IIf(Right(columnHeader.text, 2) = " v", " ^", " v")

With lstAllocatonList.ColumnHeaders
For i = 1 To .Count
.Item(i).text = Replace(.Item(i).text, " ^", "")
.Item(i).text = Replace(.Item(i).text, " v", "")
Next
End With

columnHeader.text = columnHeader.text + suffix
End Sub

复制代码



ListBox

  虽然上面的两种选择很强大,但是设置也比较复杂,而且在很多时候,客户并不允许去下载相关的控件。而且在通常情况下,使用ListBox也可以达到相同的效果了。所以ListBox是最常用的方式,这里也重点介绍一下。使用ListBox常见的任务如下所示:

任务1:给ListBox绑定集合:

List - 代表所有行,可以直接赋给一个集合,也可以使用List(i,j)的形式给每个格赋值。

Column - 代表所有列,可以直接赋给一个集合,也可以使用Column (i,j)的形式给每个格赋值。

RowSource - 代表所有数据,可以直接赋给一个集合。

注意给List赋值,行列都会按正常排列,给Column赋值的时候,行列会颠倒过来,一般需要使用Application.Transpose方法配合。而RowSource需要一个字符串,通常可以使用Range的Address方法获得,当然直接给地址或者Range的Name也行。下面是常见的赋值方式,注意其中的格式:


复制代码

'直接给RowSource赋值的形式
ListBox1.RowSource = "=Sheet1!A1:B5"

'直接使用数组的形式
Dim arr(1 To 4, 1 To 2) As String
arr(1, 1) = Cells(1, 1)
'省略赋值的过程...
arr(4, 2) = Cells(4, 2)

ListBox2.List = arr
ListBox3.Column = Application.WorksheetFunction.Transpose(arr)

'使用单元格的形式
Dim source As Variant
'source = Range("A1:B4")
source = [A1:B4]
ListBox4.List = source

复制代码



任务2:编辑ListBox中的元素

AddItem - 添加一个新元素,参数是一个String,如果是多列的话,这个方法只会添加到第一列中,一般需要配合List(i,j)方法填充其他列的值。

RemoveItem - 移除一个元素,参数是一个Index值(从0开始)。

Clear - 清空ListBox。

注意使用List(i,j),Column(j,i)的形式也可以获得或设置给每一个格的值,注意行列的Index都是从0开始的。例如下面是对一个2列的列表操作:


复制代码

'添加一行
ListBox1.AddItem TextBox1.Text
ListBox1.List(ListBox1.ListCount - 1, 1) = TextBox2.Text

'删除选中行
If ListBox1.ListIndex <> -1 Then
ListBox1.RemoveItem ListBox1.ListIndex
End If



'清空ListBox
ListBox1.Clear

复制代码



任务3:获取ListBox中行列的总数

ListCount - 行总数,遍历的时候很有用。

ColumnCount - 获取或设置列的数目。

需要使用多列的时候,一般需要先设置ColumnCount为期望的数目。



任务4:获取ListBox中当前选中的行列

ListIndex - 当前选中的行的Index值。如果是可以多选的话,这个值有可能不太可靠,一般采用Selected遍历整个集合来确定选中的行。

Value - 当前选中的行的值,如果是多列的话,只返回第一列的值。

Selected - 判断某行是否被选中。



任务5:设置ListBox的表头

这个问题,常见的只有一种解法,那就是使用RowSource绑定集合。


ListBox1.RowSource = Range("A2:B4").Address

这个时候A2上面一行的内容会作为ListBox的表头使用。



基本使用上面这些属性就可以达到显示和处理多行多列数据的目的了。 其它ListBox的属性可以参看相关资料。

转自http://www.cnblogs.com/dxy1982/archive/2011/09/15/2177792.html
VBA用字典实现分类汇总(二) 在VBA中,字典是一个很重要的概念,有点你我们生活中用到的字典,(你可以通过pinyin或部首,查找到某个字),VBA中的字典,可以根据一个关键字(key)查询一个值(item),且关键字(key)是唯一的,不能重复,但是值(item)可以重复。利用字典这一特性唯一关键字---值的特性,可以快速进行分类汇总。 上一篇,讲了VBA中运用字典进行分类汇总的四种情况 1)单条件单列汇总 2)单条件多列汇总 3)多条件单列汇总 4)多条件多列汇总 但是前面这四种都是针对单一对象(如商品A或业务员张三商品 阅读详情

相关推荐

Logistic Regression多分类实战:OvR与OvO策略详解

逻辑回归(Logistic Regression)常被误认为仅适用于二分类,实则通过一对多(OvR)和一对一(OvO)等策略可高效支撑多分类任务。其核心原理在于权重矩阵扩展与Softmax概率归一化,兼顾线性可解释性与多类判别能力。技术价值体现在轻量部署、类别不平衡鲁棒性强、参数可控性高,广泛应用于客户分群、工业故障诊断、文本主题分类等场景。本文聚焦scikit-learn中LogisticRegression的multi_class参数机制、solver与C值调优、class_weight平衡策略及OvR

dfdfadsf3443的博客 495

Excel VBA 学习总结 - 多行多列数据展示

  对于多行多列数据,基本使用Worksheet中的Range就可以处理了。但是在UserForm类型的应用中,也时常需要处理多行多列的数据。在UserForm中,显示和处理多列数据,通常可以有的选择有以下几种:DataGrid,ListView,ListBox。前面两类相当强大,但是也比较复杂,一般的简单应用中用不到。 DataGrid   DataGrid控件天生就是为了处理像Record...

weixin_34311757的博客 1100

H2O AutoML:生产级自动化机器学习流水线实战指南

自动化机器学习(AutoML)是将数据科学流程标准化、工程化的核心技术,其本质是通过智能超参搜索、模型集成与内存优化架构,在时间约束下稳定产出高泛化能力模型。H2O AutoML以分布式内存计算、多语言统一内核和POJO/MOJO生产部署能力为支撑,突破传统Python库的单机瓶颈与跨语言开销,真正实现从探索式建模到金融级上线的一体化闭环。它适用于需快速交付可解释模型的业务分析师、构建企业AI中台的平台架构师,以及希望聚焦‘数据—特征—模型—价值’主干逻辑的学习者。本文深入解析其工业级设计原理与落地避坑实践

weixin_30470643的博客 524

给用户窗体控件ListBox列表框填充单元格数据的多种方法

<br /><br />ListBox列表框,是OFFICE软件之VBA用户窗体的一种控件。 如果我们能够将Excel中的某区域的单元格数据,绑定到此控件,对于处理电子表格数据来说,是相当的方便,下面,给您说说,绑定数据的办法。当然了,要绑定,一般都使用VBA代码拉!<br />您可以通过下面所介绍的三种方式为列表框获取数据。<br /> <br />第一种方法:使用RowSource属性<br />您能将列表框直接与工作表上的一个单元格区域相链接。在该区域中的数据变化将会引发列表框数据产生相应的变化;但在

ivy8228的专栏 5615

VB 支持多行显示的Treeview树状菜单控件实例.rar

一个实用的VB TreeView控件,可以支持多行内容的显示,并且可以展开折叠(收起)的树状菜单控件源码,可自定义颜色的Treeview菜单树,如测试图所示的效果,一共演示了三个使用此Treeview完成的效果,菜单树中的每一个节点都可以包括子节点,可无限制的展开子项,可也实现那种只显示标题不显示内容的折叠列表,点击后才显示该条目的内容,自带的例子也是很实用,VB新手也可快速上手。

易康eCognition9.0分类|规则集和机器学习的方法的面向对象的多尺度分割分类

基于易康eCognition9.0软件的规则集和机器学习的方法的面向对象的多尺度分割分类

weixin_46493028的博客 1万+

Excel·VBA多行多列数据简单汇总

1,多行多列数据简单汇总;2,数据汇总函数化、通用化;3,工作簿汇总所有工作表数据;4,字典嵌套字典汇总数据

hhhhh_51的博客 1万+

【LTspice】005 伯德图绘制

目录 1 伯德图介绍 2 LTspice 截止频率验证 3 LTspice中如何添加光标 4 LTspice中如何将 幅频 和 相频曲线分开 1 伯德图介绍 Bode图由对数幅频特性和对数相频特性两张图组成。伯德图_百度百科 (1)对数幅频特性曲线 对数幅频特性是频率特性的对数值L(ω)=20lgA (ω)(dB)与频率ω的关系曲线;对数幅频特性的纵轴采用线性分度,为幅值的分贝数,即 L(ω)=20lgA(ω),A(ω)每增加10倍,L(ω)增加20dB;横坐标采用对数分度,即横轴上的ω取

m0_59642765的博客 1万+

渗透测试 ( 3 ) --- Metasploit Framework (MSF)

Metasploit专业版和精简版的主要差别在于专业版上面集成了全自动攻击模块,通过远程API集成网络分割测试模块、标准基线审计向导模块、闭环漏洞验证优先处理功能、动态载荷规避防病毒解决方案、钓鱼意识管理和鱼叉式网络钓鱼模块、对OWASP Top 10漏洞的Web应用程序测试模块、高级命令行和Web界面的选择模块。但是,专业版是必须要付费的,所以除非用到非个人的功能,否则没有必要去使用专业版,而且,专业版和精简版的渗透攻击模块是一样的。.........

freeking101的博客 1万+

Keil v5.11给STM32烧录程序记录

1)安装KeilMDK511 2)安装ST Link下载器驱动 3)打开Keil v5,加载工程文件 4)load pack(Keil.STM32F1xx_DFP.1.1.0和Keil.STM32F0xx_DFP.1.2.0) 5)编译程序- 0 Error(s), 0 Warning(s). 6)烧录程序 ...

守望的距离 6281

模板驱动型文档自动化:从Word填空到数据智能生成

文档自动化是企业内容生产提效的核心技术路径,其本质是将非结构化文档转化为可编程、可验证、可复用的数据呈现层。基于模板驱动的实现方式,通过动态区块、条件逻辑与智能样式继承,突破传统邮件合并与宏的结构性局限,实现字段级数据绑定、上下文感知排版与跨系统异构数据融合。该技术显著提升合同、投标书、白皮书等高合规性文档的生成稳定性与版本可控性,广泛应用于法务、销售、HR及SaaS服务商等场景。本文深入解析Sqribble平台如何以JSON模板为载体,将文档工程化为可Git管理、CI/CD测试、审计溯源的数字资产。

转些好文章,促进分享。 343

手把手教你学 GPU SoC 芯片(9.3)--GPU SOC 功耗和热管理的动态电压和频率调整(DVFS)

通过动态电压和频率调整(DVFS),可以有效地管理GPU SoC的功耗和热管理。合理的DVFS策略不仅可以节省功耗,提高能效,还可以延长设备的使用寿命。

MHD0815的博客 1498

VBA窗体和控件初接触(2):

我学到现在才发现控件分类不是我开始以为的 表单控件 传统表单控件 ActiveX控件(activeX并不能直接用到窗体,和窗体的事件也略有不同,比如getfoucs,窗体里是enter等) 窗体 窗体控件 代码设置优先级更高,尽量少用属性栏,而是用代码设置, 很多属性,既可以在属性栏设置,也可以 除非一些属性,代码几乎不会用到 或者一些麻烦的属性,比如pictur...

奔跑的犀牛先生 7240

SAPGUI excel 导出时遇到的运行时错误:STRING_SIZE_TOO_LARGE

当报表导出需求远超单一 XLSX 文件的物理承载力时,与其在 SAPGUI 中硬拼 2 GB 限制,不如把分页、过滤、流式写入作为设计前提。掌握 ABAP2XLSX 或 CSV + Power Query 等工具链,既能满足审计合规,又能让应用服务器远离的噩梦。祝你在下一次导出海量数据时,既高效又优雅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 640

借助Gemini 3 Pro高效解决课题申报中的五大核心痛点,亲测有效经验分享

之前给大家分享过关于AI辅助课题申报的相关的内容,涵盖了申报书部分撰写技巧,但没针对性拆解各位同仁在实际申报时遇到的卡壳的地方。比如选题范围拿捏不准,定的太大,根本没法落地完成;定的太小,研究价值则体现不了;写综述时,容易单纯罗列文献,缺乏批判性视角,没办法自然融入自己的判断,找不到研究缺口;研究方法部分,可能担心方法设计不够严谨,别人难以复现.....针对这些申报中的高频痛点,接下来七哥会从五个核心要点出发,借助Gemini 3 Pro高效解决这些痛点。

智能AI让学术科研更容易 701

Excel 2010 VBA 入门 084 数据处理之按多列汇总数据

目录 示例 代码 示例 如图所示,该表为某公司的销售数据。如何使用VBA按月份及商品名称汇总其对应商品的销售数量和收入合计? 日期 商品代码 商品名 数量 收入 2011/5/30 01.0014 ASCERT -800 -369231 2011/5/31 01.0014 ASCERT -200 -92307.7 2011/8/17 01.0032 ASWDVBN 0.05 42...

复行数十步 861

【RT-DETR涨点改进】全网独家首发Conv改进篇 | SCI一区 2025 | RT-DETR引入轻量级CGHalfConv通道分组半卷积模块,含多种创新改进、有效提升检测精度

本文介绍引入 GC Half-convolution 模块可以显著提升 RT-DETR 在资源受限环境下的性能。该模块通过通道分组与半卷积结合,有效减少了参数量与计算量,增强了模型对不同尺度和复杂背景下目标的特征提取能力。在保持模型轻量化的同时,GC Half-convolution 能够更细致地区分目标的边缘纹理、颜色、结构等关键信息,从而提升检测精度。特别是在面对小目标、多类别、形态相近的目标时,该模块能提取更具判别性的局部与全局特征,优化 RT-DETR 的检测效果,并加快推理速度。

Ai缝合怪、助力小伙伴高效发论文 745

表格操作系列——对表格或数组进行行或列求和汇总

表格操作系列 五、对表格或数组进行或列求和 在做报表时,经常会需要对取得的数据进行行或列的求和汇总操作,下面的代码可以完成对数组的行或列的求和操作,也适用于对格的指定区域进行求和汇总。 函数代码 Public Function SumArrRow(Arr, 列, Optional WithArr As Boolean = True) '默认带数组数据 Dim i As Integer Dim j As Integer Dim sp() As String Dim dic As Object Dim LB A

w_dexu的博客 859

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Excel VBA ListBox列表框学习

列表框的常用属性 1)BackColor 属性:设定Listbox的背景色。可采用任意整数来表示某一种有效的颜色,也可采用由红、绿、蓝三种成分构成的RGB 函数来指定颜色,每一种色素的值是0 至255 之间的任意整数。

weixin_46880537的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

转:经典Excel VBA代码

转:经典Excel VBA代码 VBA基础在大家的关注声中即将告一段落了,有许多经典的VBA操作我们只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高。最后我们收集了常见的VBA代码以飨广大的读者,希望对大家有所启示。Application(Excel程序)篇Application.EnableEven...

weixin_33790053的博客 1111

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Excel VBA 调用集合, 非常不错

定制模块行为(1) Option Explicit '强制对模块内所有变量进行声明Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text '字符串不区分大小写 Option Base 1 '指定数组的第一个下标为1(2) On Error Resume Next '忽略错...

weixin_33882452的博客 682

VBA Excel 实践(三)Excel控件及Excel控件的初始化

引言 我们还是要回顾下我们要干什么?我们的目标是做一个具有查询及显示查询结果的工具。上一章介绍了窗体及其属性、事件、方法等,这个东西只能算是画个查询条件的框框,里面的具体查询条件怎么填呢。 从我们见过的软件分析,要写一个查询条件的输入,必须有输入框吧,有可能有选择框吧,有可能有多选、单选框吧,你得有确定按钮吧,本章主要描述这些东西及其初始化 一、综述 控件其实也是窗体,是上篇中的窗体的儿子...

monkeyzh123的专栏 7403

--未完成--关于 ListBox1的数据源 指定

ListBox1.RowSource = "shop!d3:e15" ListBox1.ColumnCount = 2 ListBox1.ColumnWidths = "50;80" ListBox1.ColumnHeads = True 特备注意写法时 ListBox1.RowSource = "shop!d3:e15" 而不是VBA里的range 写法,。而是EX CEL的写法!!! 而且也不是controlsource ...

奔跑的犀牛先生 707

VBA Excel 实践(五)Excel窗体、控件与excel数据(单元格)的关联

引言: 之前已经描述分别描述了Excel VBA的窗体、控件和Excel本身的对象(也就是数据的承载者)。本章主要描述Excle VBA中如何将控件和excel中的数据相关联。 一、如何关联已有的Excel文档和VBA 其实这个就是如何使用Vba打开已有的Excel文件。这其实是我们关联excel和Excel最早要干的事,如果不打开文件,你还做毛线的操作。 使用workbooks.open...

monkeyzh123的专栏 1万+

Access VBA动态修改组合框数据源

iamlaosong文根据输入的工厂简称动态修改发货客户和收货客户两个组合框的数据源:'输入工厂后根据工厂修改收发客户的数据源供录入选择,同时生成LoadTo Private Sub FAbbr_AfterUpdate() Me!LoadTo = Me!Load &amp; "-" &amp; Me!ToCode Me!SAbbr.RowSource = "SELECT SAbbr...

驽马十驾 才定不舍 4066
上一篇: ado
下一篇: sql case when
tangleisoft
博客等级 码龄16年 8粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值