我遇到了一个问题也可能是一个错误,无论哪种方式,我不知道如何解决它,并希望得到任何帮助:)
i2 = 2
plz1 = Worksheets("Sheet2").Range("B" & i2)
plz2 = Worksheets("Sheet2").Range("C" & i2)
B2为89999,C2为90000.因此,运行此代码时,plz1为89999,plz 2为“90000”(注意引号)。
所以:
plz1 = 89999
plz2 = "90000"
这是一个非常严重的问题,因为我想创建一个范围:
Range(plz1 & ":" & plz2)
我不知道我是否只是做了一个非常明显的愚蠢错误,或者它是否是一个错误......
我真的很感激我能得到的任何建议! :))
谢谢,NiceRice
答案 0 :(得分:0)
也许你可以试试这个?
Sub Combined_range()
i2 = 2
Sheets("Sheet2").Range ("B" & i2 & ":C" & i2)
End Sub
答案 1 :(得分:0)
不确定是否要构建一系列数字或一系列行。
以下是如何处理文本90000或" 90000"在一个牢房里。此外,还有一个testNumber,看它是否在plz1和plz2之间。
Option Explicit
Sub test()
Dim i2 As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet2") 'Change as appropriate
Dim plz1 As Long
Dim plz2 As Long
i2 = 2
'Get rid of any "" if present in string
If InStr(1, ws.Range("C" & i2), Chr(34)) > 0 Then
ws.Range("C" & i2) = Application.WorksheetFunction.Substitute(ws.Range("C" & i2), Chr(34), "")
End If
On Error GoTo NotConverted
plz1 = CLng(ws.Range("B" & i2))
plz2 = CLng(ws.Range("C" & i2))
Dim myRange As Range
Set myRange = ws.Range(plz1 & ":" & plz2)
MsgBox myRange.Address
Dim testNumber As Long
testNumber = 1238
If testNumber >= plz1 And testNumber <= plz2 Then
MsgBox "testNumber is between " & plz1 & " and " & plz2
End If
Exit Sub
NotConverted:
MsgBox "The contents of either cell B" & i2 & " or C" & i2 & " could not be converted to a number."
End Sub