我是VBA新手,需要帮助。我想创建vba函数,它接受表名作为输入,并从该表中区分特定的字段。我创建了一个函数,当我在vba即时窗口中运行它时(当我使用debug.print命令显示结果时)。但是当我在sql中调用这个函数时,它只返回最后一个字段值,而不是整个字段的值。我不擅长vba语法,所以我需要帮助来理解。函数可以返回多个值吗?如果可以,如何使用,如果不可以,还可以使用什么?下面是我的代码:
Public Function TableInfo(tabela As String)
Dim db As Database
Dim rec As Recordset
Dim polje1 As Fie
我对C#和Excel DNA非常陌生。我目前在微软脚本运行时字典中存储了一些数据,我想将这些数据传递给我用C#编写的一些方法。我已经在C#中创建了一个简单的方法(称为FetchDictionary)来接受字典作为输入,并将一个整数返回给VBA,但我得到一个错误消息:“无法运行宏'FetchDictionary‘。宏可能在此工作簿中不可用或所有宏都可能被禁用”当我试图调用其他函数时,我只是传递一个双精度数组,例如我没有遇到这个问题。我已经向我的C#添加了一个引用
下面是VBA和C#函数
VBA:
Sub test()
Dim test As New Dictionary
我有一个名为my_date.txt的文本文件,其中包含以下数据:
1 Adam
2 Steve
3 Lisa
4 Josh
.....
文本文件可能很长。我试图将这个文本文件中包含的数据加载到C#中的一个数组中,这样我就可以进行操作了。在sas中,我只使用输入。在VBA中,我只是引用单元格,假设我是在excel中创建的。但在这里和C#在一起,我一点也不知道。
我已经创建了VBA代码,它向Oracle数据库打开web表单,操作页面,使所有相关文本框可见,并从Excel电子表格中输入值。这一切运作良好,正如预期的那样。
当我提交这份表格时,我会收到一封贺信,通知我的数据已经被接受并被更新。但是当我去查看这些数据时,它就丢失了。当我手动更新网页时,数据按预期更新。
对于这种行为产生于什么以及如何克服它,有什么想法吗?
它在内部网上,所以我无法共享URL。我个人认为,网页区分了我输入数据的方式和输入数据的时间。
x = 1
For Each i In Range("dailyCV")
IE.document.all(col_1.It
我想在我的连接上附加一个应用程序名,就像PgAdmin在这里所做的那样:
📷
(文本形式查询:select pid,query,wait_event,state,* from pg_stat_activity;)
我的连接是以这种方式创建的(在VBA中):
Dim cnDB As New ADODB.Connection
cnDB.Open "PostgreSQLDsnHere"
其中,DSN是通过以下方式创建的:
32位:转到这里:%WINDIR%\SysWOW64\odbcad32.exe
64位:转到这里:%windir%\system32\odbcad32.exe
转到
我需要一些重要的帮助。我正在尝试创建一个VBA函数,该函数允许我在二维数据集中查找字符串的最后五个实例,并返回每个实例所在列的名称。 我有一个数据工作簿,看起来像这样:picture of data worksheet 基本上,每个员工每天都有不同的职位,我们将他们的名字输入到这张表中。在另一张纸上,如下图所示,输入了员工的姓名,并显示了他们的百分比和最后5个职位。我可以在VBA中做一些简单的事情,比如做函数之类的,但是我不知道该怎么做。任何帮助都将不胜感激。Picture of Percentages page 包含信息的数据页面:link
我是第一次使用VBA编程,我正在为我工作的一个心理实验室的数据输入创建一个数据库。当前数据库已创建,但我希望防止重复条目被放入数据库中(即,在输入参与者编号后立即进行代码查找)。我已经尝试修复这个代码很长一段时间了,但我最近遇到了麻烦。当我输入参与者号码时,它会显示正确的错误消息,但是它会显示每个号码都已经输入(即使他们实际上还没有输入)。代码如下:
Private Sub Participant_Number_BeforeUpdate(Cancel As Integer)
Dim Participant_Number As Integer
Dim StLinkCriter
我在Windows64下使用gfortran编译器(在简单的fortran下),当创建一个基本的fortran dll用于测试时,我无法在VBA下运行它,然后得到运行错误48 : dll找不到。
下面是我的Fortran子例程代码:
subroutine multiply(x, y, z)
!DEC$ ATTRIBUTES DLLEXPORT :: multiply
!DEC$ ATTRIBUTES ALIAS : "multiply" :: multiply
real, intent(in):: x, y
real, intent(out):: z
z = x * y
我对Excel VBA非常陌生,所以我请求您的理解。在互联网上做研究并没有解决我的问题。因此,我希望将VBA中的一组数值传递给一个函数,即在Excel VBA代码中将现金流输入到NPV函数中。
Dim Postavke() As String, velikost As Integer, i As Integer
velikost = WorksheetFunction.CountA(Worksheets("List1").Columns(11))
ReDim Postavke(velikost)
For i = 1 To velikost
Postavke(i)
如何使用VBA在word中创建一个随机句子?
例如,下面的代码创建了猫在mat1上的一个句子。我想用单词代替我。
可以使用VBA吗?
Sub Randomsentence()
Dim text As String
Dim s As String
MyText = "The cat sat on the"
i = Int(4 * Rnd())
Selection.TypeText (MyText)
Selection.TypeText (i)
End Sub
我有一个userform,其中用户输入数据,然后单击Add按钮。然后,VBA创建一个新行,并将用户的数据输入到该行中。这很好,但是我也想在另一个工作表中添加一个新行,这就是我被困的地方。
这是我的密码:
Dim i As String
Dim j As String
Dim k As String
Dim m As String
Dim n As String
j = XIDBox.Value
i = OrgNameBox.Value
k = ContactNameBox.Value
m = PhoneBox.Value
n = EmailBox.Value
dstRw = Sheets
我已经将大约4000至5000行代码从VBA转换为C#。我唯一的问题是:
在VBA中,您可以创建一个类型的数组,也可以设置开始索引。例如:
//This creates an Array with an index 5 to index 100.
doubleArray(5 To 100) As Double
在C#中,不可能创建以0以外的索引开始的数组。(见下面的链接。)在我看来,这将留下以下两种可能性:
1.创建从0到100的doubleArray
我可以如下所示创建一个doubleArray:
Double[] doubleArray = new Double[100];
这有一个优
我已经创建了一个VBA代码来删除列中所有可用的特殊字符。例如,我有一个字母数字字符,列的每个单元格中都有一些特殊字符:假设在一个单元格中,我有一个值: abc@ 123 !-245,在执行我的代码后,我得到了输出abc 123 245,在这里,我的代码工作良好,可以删除所有特殊字符。我的代码如下:
Sub ReplaceSpecial()
Dim cel As Range
Dim strVal As String
Dim i As Long
Application.ScreenUpdating = False
For Each cel In Select