当前位置: 首页 > news >正文

android多行多列列表框,Excel vba列表框多列多行从14个文本框(示例代码)

我有用户表单,有14个文本框,2个命令按钮“next”,“Post”和1个列表框

我需要代码将数据从14个文本框传送到列表框,再次当用户输入新数据并按下此数据添加到列表框中的第二行时,再次获取

最后当他发布所有数据后移到工作表“数据库”

Sub CommandButton1_Click()

Dim arr1, i As Long

Dim arr2(0 To 0, 0 To 13)

arr1 = Array(TB10, TB10, TB0, tb1, cb1, cb2, tb5, tb4, TB10, TB10, TB10, tb6, tb7, tb8)

For i = 0 To UBound(arr1)

arr2(0, i) = arr1(i)

Next i

ListBox1.List = arr2

End Sub

但是这段代码只将一次数据添加到列表框中,我需要添加更多行♥

答案

“......需要添加更多行”

通常,您会将完整的(d)数据集分配给.List的ListBox1属性(您选择将其命名为arr2)。

由于您希望使用每个CommandButton1_Click()事件增加包含的元素行数并保留所有现有数据,理论上您需要增加二维数组的第一维 - 但使用ReDim Preserve是不可能的。

要解决这个问题,只需反转arr2的维度,从而在第一维中定义14列值,将“行”维度定义为第二维。列表框控件提供了一个.Column属性,您可以使用该属性而不是通常的.List属性来编写整个数据集(无需关注有意转置的行和列)。

注意

当您在OP中更改代码时,我假设tb0,tb1,...对应于枚举的TextBox控件。 (请根据您的需要更改控件阵列arr1中有些奇怪的顺序。)

示例代码

Option Explicit ' declaration head of userform code module

Dim arr2() ' make arr2 values disponible for each CommandButton1_Click event

Sub CommandButton1_Click()

' declare/assign variables

Dim arr1(), i As Long, nxt As Long

arr1 = Array(tb0, tb1, tb2, tb3, tb4, tb5, tb6, tb7, tb8, tb9, tb10, tb11, tb12, tb13) '

' define index of next row in listbox

nxt = Me.ListBox1.ListCount ' ListCount automatically counts upper bound + 1

' a) you can only increment an array's last dimension, so ...

' b) redefine arr2 with new elements in its 2nd dimension

ReDim Preserve arr2(0 To UBound(arr1), 0 To nxt)

' assign textbox and combobox values to arr2

For i = 0 To UBound(arr1)

arr2(i, nxt) = arr1(i)

Next i

' reassign arr2 to the listboxes .Column property (instead of the .List property)

ListBox1.Column = arr2

End Sub

Private Sub UserForm_Layout()

With Me.ListBox1

.ColumnCount = 14 ' define column count

.ColumnWidths = "50;50;50;50;50;50;50;50;50;50;50;50;50;50" '

' .Width = 50 * .ColumnCount + 16

End With

End Sub

请允许我说一句:我认为这回答了你原来的问题。您将找到足够的示例如何将数据移回到读取StackOverflow站点的工作表,但是这需要用代码显示一个新问题,显示您到目前为止所尝试的内容 - 请参阅How to create a Minimal, Complete, and Verifiable example。

相关文章:

  • android中的logcat,android中Logcat的深层理解
  • Irrlicht引擎:文件系统简介
  • otto android 使用,[Android] Otto源码简析
  • mate40更换鸿蒙,上架鸿蒙系统+背面副屏华为Mate40,华为Mate30降到冰点价让路
  • mysql innodb 性能优化
  • android 网络通信api,Android网络通信框架LiteHttp 第十二节:通过注解完成API请求
  • mysql 中show 命令用法详细介绍
  • note8 升级android9,三星note8 N9500一键ADB升级One UI 9.0内测版
  • android设置点击事件外部类,Android中Dialog设置外部点击事件
  • html零基础自学,第一个HTML页面如何写?——零基础自学网页制作
  • CentOS+Nginx+PHP+Mysql+安全指南全环境搭建笔记
  • html怎么转换docx,html2word html转换为word 使用docx4j
  • html5网页中加入播放器,6 个 HTML5 的多媒体播放器
  • 在CentOs 5.1中使用rpm安装NGINX+php+mysql
  • android go更新机型,诺基亚1 Plus喜提Android 10 GO系统更新
  • JavaScript-如何实现克隆(clone)函数
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【个人向】《HTTP图解》阅后小结
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Consul Config 使用Git做版本控制的实现
  • HTML中设置input等文本框为不可操作
  • java多线程
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 简析gRPC client 连接管理
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 区块链将重新定义世界
  • 如何使用 JavaScript 解析 URL
  • 设计模式(12)迭代器模式(讲解+应用)
  • 算法-图和图算法
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #define 用法
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (java)关于Thread的挂起和恢复
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (五)关系数据库标准语言SQL
  • (学习日记)2024.01.09
  • (转)winform之ListView
  • (转)树状数组
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET Core中的去虚
  • .net分布式压力测试工具(Beetle.DT)
  • .Net环境下的缓存技术介绍
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • ::什么意思
  • [1525]字符统计2 (哈希)SDUT
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [c++] C++多态(虚函数和虚继承)
  • [CLickhouse] 学习小计
  • [go 反射] 进阶