Excel之vba代码

Excel之vba代码,第1张

hi,本来想把改动的地方标出来,后来发现改动还蛮多的,就不一一标出了,现在应该可以运行了。

Sub Test()

Dim i As Integer, iRow As Integer

Dim strPath As String

Dim TheSheet As Worksheet

iRow = 1

Set TheSheet = ActiveWorkbookWorksheets("sheet1")

strPath = ""E:\可丢\hua"

With ApplicationFileSearch

LookIn = strPath

SearchSubFolders = True

Filename = ""

If Execute > 0 Then

For i = 1 To FoundFilesCount

'Range("A" & i) = FoundFiles(i)

WorkbooksOpen (FoundFiles(i))

For j = 1 To ActiveWorkbookWorksheetsCount

'ActiveWorkbookWorksheets(i)Cells(1, 1)Value = "a"

ActiveWorkbookWorksheets(j)UsedRangeCopy

TheSheetActivate

While TheSheetRange("a" & iRow)Value <> ""

iRow = iRow + 1

Wend

TheSheetRange("A" & iRow)Select

ActiveSheetPaste

ActiveWorkbookSave

Next j

Workbooks(WorkbooksCount)Close

Next i

End If

End With

End Sub

Sub li()

Dim i As Integer

Dim j As Integer

Dim k As Integer

Dim m As Integer

'如果你的表的名字是“数据表”,则改为Sheets("数据表")select

Sheets("数据表")Select

'获取数据区的下边界

i = Cells(RowsCount, 1)End(xlUp)Row

'获取数据区的右边界

j = Cells(i, 1)End(xlToRight)Column

'做循环,往“E列”填数据,以后可能是F列等,都可以

'k, m是循环变量

For k = 2 To i

For m = j To 2 Step -1

If Cells(k, m) <> 0 Then

Cells(k, j + 1) = Cells(k, m)

Exit For

End If

If m = 2 Then Cells(k, j + 1) = 0

Next m

Next k

End Sub

你可以用视图-工具栏 往表里面加一个按钮,然后用VBA建一个模块,把上面的代码复制,然后把按钮与代码连起来,点一下按钮,就可以了

Excel VBA 定义全局变量的具体操作步骤如下:

1、首先我们打开电脑里的excel软件进入excel主界面

2、然后我们鼠标右击下面的工作表(如sheet1),选择“查看代码”,就可以打开VBA编辑界面。

3、如图显示打开VBA编程界面。

4、接着就是在代码框里输入定义一个执行函数。

5、接着就是在代码框里输入全局变量,定义方式Globlal 变量,通过以上步骤即定义好了一个全局变量。

vba并不是太难,我想在学习的过程中注意以下几点即可:关于报班我认为没有必要

1 学以致用,不要为了学而学。工作中遇到的问题需要用到VBA的尽量用VBA,一方面提高工作效率,另一方面是练功;

2 多问多上网搜索。正常在使用VBA过程中的一些问题在网上都应该可以找到参考,有些甚至可以直接拿过来用。

3 可以使用EXCEL自带的“记录宏”功能,作为对入门的学习。

4 要用好VBA,要多学习一些关于表格的基础知识,比例什么是工作薄,什么是工作表,什么是单元格。再关注一些关于SQL的知识,会让你的表格使用更上一层楼。

5 买本关于VB的书籍比如(Excel 2007与VBA编程从入门到精通)

,学习一些编程的基础知识,了解数据类型,基本的语句,基本的算法。

Sub tt()

Dim i As Integer

For i = 3 To 100

SolverReset

SolverOk SetCell:="$L$" & i, MaxMinVal:=3, ValueOf:="0", byChange:="$G$" & i & ":$J$" & i

SolverAdd CellRef:="$G$" & i & ":$J$" & i, Relation:=4, formulaText:="整数"

SolverAdd CellRef:="$G$" & i & ":$J$" & i, Relation:=1, formulaText:="10"

SolverAdd CellRef:="$G$" & i & ":$J$" & i, Relation:=3, formulaText:="0"

SolverOk SetCell:="$L$" & i, MaxMinVal:=3, ValueOf:="0", byChange:="$G$" & i & ":$J$" & i

SolverSolve Userfinish = False

Next i

End Sub

上面这段是我以前做的规划代码你比较一下

你前面好像 SolverReset 没有重置

还有最后SolverSolve Userfinish = False 我用的时候是用的FALSE 就是最后规划的时候那个提示我是过滤掉的

还有 在VBA界面要把工具 引用 SOLVER勾上

最后你录制的代码中可能有错误的 VBA录制规划求解的时候 有的代码是错的

上面的ByChange 你自己改过来了其他要还有报错 你再改下看看

我搞了半天没搞请你代码 你把问题描述一下

G21-YANG@163COM 我给你录代码吧

我测试了一下 加上SolverReset是可以的 就是最后面的

Engine:=1, EngineDesc:="GRG Nonlinear"

我这里没这参数 你用的EXCEL 07么 我这里提示找不到参数删除这段我就可以运行了

《EXCEL2007VBA开发技术大全》从读者所需出发,采取先基础、后实例,以及从零开始循序渐进的讲解方式,全面、系统且深入地介绍Excel 2007 VBA编程技术。读者无论有无基础,都可以轻松学习,并高效掌握。书中的内容丰富实用,通过基础知识和应用示例的结合并穿插许多VBA编程技巧和设计规范等知识,提供了详细的编程思路和大量的代码范例。从而指导读者学习Excel 2007 VBA编程技术,最终完成从入门到精通的大跨越。

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4043758.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-12
下一篇2024-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存