因此,我在Excel VBA中有以下代码
Sub myquerie()
Dim mytable As QueryTable
Set mytable = Worksheets("Sheet5").QueryTables("MyQuery")
mytable.Connection = "URL;" & Worksheets("Converter").Cells(12, 4).Text
mytable.Refresh
End Sub
和我得到的错误“下标超出范围”在
Set mytable = Worksheets("S
创建一个VBA循环以调整Excel项目中所有表的大小。
表名的列表存储在"Tlist“命名范围中
如果表名是用来写的,那么这段代码就能正常工作。
代码在这个循环中工作,用于列计数,但是在第二次引用x时,我得到了一个错误‘下标超出范围’。
将鼠标悬停在调试时的第二个x上,Excel似乎正确地读取了它,但我不能让它重新调整表的大小与列表对象函数不支持循环中的文本有关吗?或者我在这个循环中做错了,需要用不同的方式定义x?非常感谢您的帮助。
Sub RSizeTables()
Dim rr As Integer
Dim cc As Integer
Dim x A
我有两个启用宏的工作簿。一个用于收集多个用户的数据(宏为跟踪器),另一个(跟踪器)只是存储数据的地方。“宏为跟踪器”将打开“跟踪器”,复制粘贴值的特定列,保存和关闭它。现在,我试图将跟踪器本身中的表范围调整到B列中的最后一行,但在这里仍然失败。
跟踪器包含有公式的列,并且只有一个时间戳代码。我试图添加一个私有子,它将在打开时运行,但是它不能工作,并给出了错误“下标超出范围”:
Dim ws As Worksheet
Dim ob As ListObject
Dim Lrow1 As Long
Lrow1 = Sheets("Main").Cells(Rows.Count, &
我试图从另一个工作表中激活一个工作表,并在excel中的消息框中显示单元格的值,但每当我运行它时,都会出现下标错误,指出下标超出范围。
我的代码:
Sub Home()
Dim tbValue As String
tbValue = Worksheets("Home").TextBox1.Value
Worksheets(tbValue).Activate
MsgBox Cells(7,1).Value
End Sub
有人知道为什么下标超出范围了吗?谢谢
这是我的代码,我用它来创建一个数组,我试图用字符对它进行索引,但它返回了一个错误的字符串下标超出范围。
#define ALPHA (256)
#define MAX_PATLEN (100)
int betap[ MAX_PATLEN+1 ];
int Delta[ ALPHA ];
void makeDelta(std::string p, int m ) {
int i;
for( i = 0; i < ALPHA; ++i )
Delta[i] = m + 1;
for( i = 0; i < m; ++i )
Delta[(unsigned int) p[i] ] =
我正在使用Excel 2010。我需要创建一个宏,在特定单元格中输入文本后,根据输入的文本相应地更改数据库连接的SQL命令文本。执行刷新后,必须显示数据库中的最新信息。
我在更改SQL命令文本时遇到问题。下面的代码- "Set qTable..“准确地说,这行给出了“运行时错误9下标超出范围”的错误。
Dim qTable As QueryTable
Set qTable = Workbooks("Dynamic_Reports").Sheets("Report").ListObjects(1).QueryTables(1)
qTable.command
我在do while multiple conditions行收到错误消息"subscript out of range“。有没有人能帮我看看为什么我的条件是错的?非常感谢!
Do While ((fixeddaysdiff_input(i + C, 2) = fixeddaysdiff_input(i + C - 1, 2)) _
And (fixeddaysdiff_input(i + C, 1) = fixeddaysdiff_input(i + C - 1, 1))) _
Or ((fixeddaysdiff_input(i + C, 2) = fixedd
我正在尝试遍历选项卡子集,以隐藏每个选项卡中单个表上的自动筛选箭头。如果我在每个选项卡上单独执行.ShowHideFilter = False,它就可以正常工作。我假设我没有正确命名.ShowHideFilter。我得到“下标超出范围”的错误。
Sub HideFilterArrows()
Dim ws As Worksheet
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
For Each ws In Worksheets
Select Case LCase(ws.Na
Sub abrirotroworkbook()
Dim y As Workbook ' a donde se va a pegar
Dim vals As Variant
Set y = Workbooks.Open("C:Path\filename.xlsm")
'Now, copy what you want from x:
vals = Sheet12.Range("A3:B3").Value
'Now, paste to y worksheet:
y.Sheet
这是参考我之前的问题,这些问题已经解决,但出现了另一个问题:
所有3个文件都在同一个文件夹中并已打开。它给了我运行时错误9:下标超出范围。
For i = 1 To rows
Workbooks(destination).Worksheets(destinationSheet).Cells( destinationSheetRow + i, Cells(8, j + 3)) = Workbooks(source).Worksheets(sourceSheet).Cells(sourceSheetRow + i, Cells(4, j + 3))
Next i
当我做调试时,目标和源都是完整的
我正在通过另一个工作簿中的VBA子例程(比如工作簿1 )打开excel工作簿(比如工作簿2),然后尝试从excel工作簿中找到一个表( ListObject )。
我试过的代码如下,
Sub B()
Dim TBL_EMP As ListObject
Dim strFile As Variant
Dim WS_Count As Integer
strFile = "File Path"
Set WB_TRN = Workbooks.Open(strFile)
我有一个odbc查询表,它目前正在工作,但是我需要用单元格D18中的值来定义从数据库中选择的字段。
下面的代码应该替换查询表属性中的命令文本,但它不起作用。调试时写着“子脚本超出范围”。如果我在“立即”窗口中调试并运行?text,然后在SQL中运行这一行结果,它将返回正确的值,因此sql语句是正确的。我在vba语法上出了什么问题?
Sub Accrual()
Text = "SELECT "
Text = Text & "BALANCE.CDTLED_" & Range("D11").Value - 1 &
我有一个结构,其中我有一个向量
vector<int> accept;
在我的程序中,当我试图在特定索引处插入一个值时。我知道这个错误:
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check
在我的循环的每一次迭代中,我都会增加AlphabetCounter并在这个特定的索引上放置一个值,如下所示:
AlphabetCounter=AlphabetCounter+1;
NewNextStateDouble.accept
我试图使用以下代码
选择先前筛选过的工作表(数据库)的1列中的所有可见单元格,然后
将验证应用于所有那些可见单元格,从保存在单独工作表中的一个动态列(SKU检查)。在行:设置tbl_5 =Activesheet.vba返回错误9,下标超出范围。在到达此模块之前,数据库表已被过滤。
当前,我正在获取错误,这是设置tbl_5值所需的对象。
代码:
Sub VALIDATION_c()
Dim tbl_5 As ListObject
Dim rng As Range
Dim PH5Rng As Range
Dim Val5 As Range
Dim WS As Workbook
下面是代码。我得到一个错误“字符串下标超出范围”,而调试以下代码。因此,请找出错误所在,并找到解决方案。
#include <iostream>
using namespace std;
int main()
{
string s;
int i = 0;
for (int i = 0; i < 50; i++)
s[i] = 'A';
cout << s;
return 0;
}
我试图从动态数组中调用一个值,以便稍后在VBA函数中使用,但如果不抛出一个数组,则无法调用它。这里怎么了?
我试图更改数组类型和调用方法,但错误不断出现。
Dim lastColumn As Integer
Dim defaultWidth As Double
defaultWidth = 8.11
lastColumn = 30
'Declare array for column width
Dim widthArray() As Double
ReDim widthArray(lastColumn)
For c = 1 To lastColumn
widthArra
此代码的目的是将具有一个字符的单词替换为“x”,将具有两个字符的单词替换为“区”,将具有三个字符的单词替换为“--”。每次我运行它都会给我一个错误:
字符串下标超出范围
知道是什么引起的吗?
#include <iostream>
#include <string>
using namespace std;
int main()
{
string text;
int x, i, count=0;
cout << "Enter the string of text you wish to modify" <
我有一个不运行的宏。
此宏用于导出.xml文件。运行此宏时,会弹出“保存as..file”。我按OK键,会出现一个错误:
运行时错误9:下标超出范围
我看到了行错误:ActiveWorkbook.XmlMaps("Root_Map").Export URL:=newFileName
谢谢你的帮助。
Sub ExportXML()
'
' Export XML Macro exports the data that is in Excel to XML.
'
Const ForReading = 1
Const ForWriting = 2
Dim
我试图将LastRow存储为一个Integer,但是一直得到“运行时错误'9':超出范围的下标”。我需要它的工作表是“自助报告”。我使用的代码是:
Dim LastRow As Integer
LastRow = ThisWorkbook.Sheets("Self-Service Report").Cells(Rows.Count, 1).End(xlUp).Row
我有一些代码,这些代码将DataBodyRange的ListObject解析为变量new_arr (变量类型)。我已经在模块的开头设置了OptionBase1,但是当我查看创建的数组时,我最终得到了一个基于0的数组。我肯定我错过了一些简单的东西
If isExcel(FSOFile) Then
Set wb = Workbooks.Open(FSOFile)
psheet = isProposal(wb)
If psheet > 0 Then
new_arr = ThisWorkbook.Sh
我试图打开一系列存储在数组中的xlm文件,但错误消息不断弹出,指出下标超出范围。有什么建议吗?谢谢
Dim AllFiles() As String
Dim count, test, StartRow, LastRow, LastColumn As Long
test = count
Do While (test >= 0)
Workbooks.Open Filename:=AllFiles(test) 'subscript out of range
test = test - 1
Loop
我有下面的代码,我想检查数组中的索引3是否存在,但是我总是得到这个错误:
Microsoft VBScript运行时错误“800a0009”
超出范围的下标:“编号:0”
urlArray=Split(url1,"/")
If (not isNull(urlArray(3))) then
If (urlArray(3)="site") Then
newUrl=urlArray(0) &"/"& urlArray(1) &"/"& urlArray(2) &&
这是苹果的官方文件(稍作修改)-
class Person {
var residence: Residence?
}
class Residence {
var rooms = [Room]()
var numberOfRooms: Int {
return rooms.count
}
subscript(i: Int) -> Room {
get {
return rooms[i]
}
set {
rooms[i] = newVa
我在一个移民项目中工作。
其中我试图迁移经典的asp应用程序。我不擅长古典ASP。
我从服务器上提取了代码,并试图在我的机器上运行它。但是得到以下错误。
Microsoft VBScript运行时错误“800a0009”
超出范围的下标:“编号:1”
/Include/Security.inc,第28行
请找到我得到错误的代码块。
Function StringConvUN
dim tabConv
dim rmLocation
dim username
username = Ucase(Request.ServerVariables("LOGON
我尝试遍历窗体中的所有控件,每次它捕获标签时,标签的Tag元素都会添加到数组中。
Dim labelCounter As Integer
labelCounter = 0
Dim arrayTag() As String
For Each ctl In Me.Controls
Select Case TypeName(ctl)
Case "Label"
arrayTag(labelCounter) = ctl.Tag
labelCounter = labelCounter + 1
End Select
Next
当我试图运行我的代码时,当它击中这段代码中的the语句时,会得到一个“下标超出范围”的错误:
If Cells(i + 4 - n, 9).Value > 0 Then
Cells(i + 4 - n, 9).Interior.ColorIndex = RGB(93, 255, 132)
Else
Cells(i + 4 - n, 9).Interior.ColorIndex = RGB(255, 83, 83)
End If
有人能告诉我怎么解决这个问题吗?
如何在asp经典中不使用维度来声明数组?我想要的是显示recordset并将其保存在数组中。
<tr>
<td>Call Type</td>
<%
dim agentWithCallType( )
agentWithCallTypeCtr=0
if not RsAgentEffectivenessPerCallType.eof then
do while not RsAgentEffectivenessPerCallType.eof
%>
<td><% =RsAgentEffectiven
我现在有两个使用自定义结构填充的数组。
struct Group {
var id: String
var type: String
var desc: String
var name: String
init() {
id = ""
type = ""
desc = ""
name = ""
}
}
数据被追加到:
var clientArray: [Group] = []
var departmentArray:
为什么我的行T(k) = Cells(k + 1, 4).Value - z上出现“下标超出范围”?
Public Sub find()
Dim i, j, k, h As Integer
Dim T() As Double
Dim z As Double
Range("E1").Activate
i = ActiveCell.Row
j = ActiveCell.Column
While Not IsEmpty(Cells(i, j - 2).Value)
z = Cells(i, j - 2).Value
k = 0
While Not IsEmpty(Cells
通常带有下标超出范围的错误,某些东西拼写错误。这一次我可以保证它不会拼错。我将工作簿和工作表名称声明为变量,以便稍后用于简单的复制粘贴内容。但是,当我将其中一个工作表定义为Set main=wb.Sheets("Primary")时,就会得到错误,下标超出了范围。我不相信,所以我复制了我写的东西,贴在纸上的名字。同样的错误。因此,它们必须是我如何设置工作簿/工作表的问题。任何帮助都很感激。
Sub copyPaste()
Dim wb As Workbook
Dim main As Sheets
Dim hypo As Sheets
Set wb = ThisWorkboo
下面的代码给出了错误9“下标超出范围”。我的意思是声明一个动态数组,这样当我向它添加元素时,维度就会发生变化。我是否必须在数组上创建一个"spot“,然后才能像在JS中那样在数组中存储内容?
Sub test_array()
Dim test() As Integer
Dim i As Integer
For i = 0 To 3
test(i) = 3 + i
Next i
End Sub
我想从另一个工作簿复制几列到当前工作簿和当前工作表,但我得到一个下标超出范围错误。我想知道是否有问题 Sub CopyColumns()
Dim SourceRange As Range
Dim DestRange As Range
On Error GoTo myerror
Set SourceRange = Workbooks("Invoice.xlsx").Worksheets("working").Columns("A:G")
Set DestRange = ThisWorkbook.Worksheets("working&
Private Sub CommandButton8_Click()
Dim x As Long
Dim y As Long
Dim colindexval As Double
Dim resizeval As Double
x = Sheet1.Cells(20,21).value
y = sheet1.cells(21,21).value
resizeval = Sheet1.Cells(19, 12).Value
colindexval = Sheet1.Cells(16, 12).Value
Sheet9.Range(x, y).Resize(resizeval, 1).Formu
我正在尝试让这段代码运行:
Dim myrange As String
For i = LBound(lOffsets) To UBound(lOffsets)
myrange = "R" & CStr(2 * i + 4) & ":S" & CStr(2 * i + 5)
Set rangeT = Worksheets("ChartBuilder").Range(myrange)
Charts("overview").SeriesCollection.Add _
So
我想检查QueryTables(1)是否存在,如果存在,则将其删除。我已经知道用什么代码来删除它了:
ActiveSheet.QueryTables(1).Delete
但是我不确定如何首先检查它是否存在,这样当它试图删除一个不存在的查询表时,我就不会收到错误。
更新:我尝试使用
If Not ActiveSheet.QueryTables(1) Is Nothing Then ...
并得到一个运行时错误'9':下标超出范围。
当使用我正在搜索的查询表的实际名称(称为"MonitorData")时,我得到了同样的错误。
我需要将通过std::cin传入的一个单词设置为字符向量,直到到达换行符('\n')。以下是我到目前为止所做的工作:
#include "stdafx.h"
#include <iostream>
#include <vector>
int main(){
std::vector<char> one1; //A char vector that holds the first 'word'
std::cout << "Type in the first set of characto
我的动态范围选择器有点问题。
我找到了其他一些实现方法,但为了清晰起见,我找不到这种描述的范围选择方法,我真的很想知道为什么它不起作用:
作为测试,我想要更改范围Range(B20:D25)的颜色。
使用以下代码
Private Sub colortest()
Dim ws as Worksheet: Set ws = Sheets("Sheet1")
For i = 20 to 25
ws.Range("B" & i & ":D" & i).Interior.ColorIndex = RGB(166,