Excel VBA 런타임 오류 '424' 개체가 필요합니다.
저는 VBA와 코딩에 대해 완전히 초보입니다. 동일한 워크북의 셀에서 데이터를 가져온 다음(프레임워크 경로 가져오기...) 애플리케이션(QTP)을 시작하고 테스트를 실행하려고 합니다.
Excel 셀에 값을 입력할 때 다음 오류가 발생합니다.
Run Time Error '424' object required
제가 몇 가지 기본적인 규칙을 놓치고 있다고 생각하지만, 당신의 도움에 감사드립니다.문제가 되는 코드 부분은 아래를 참조하십시오.
Option Explicit
Private Sub RunTest_Click()
Dim envFrmwrkPath As Range
Dim ApplicationName As Range
Dim TestIterationName As Range
'Dim wb As Workbook
'Dim Batch1 As Worksheets
Dim objEnvVarXML, objfso, app As Object
Dim i, Msgarea
Set envFrmwrkPath = ActiveSheet.Range("D6").Value ' error displayed here
Set ApplicationName = ActiveSheet.Range("D4").Value
Set TestIterationName = ActiveSheet.Range("D8").Value
첫 번째 코드 라인은Option Explicit모든 변수가 다음과 같이 명시적으로 선언되어야 한다는 것을 의미합니다.Dim진술들.개체, 정수, 문자열 또는 변형을 포함한 모든 유형일 수 있습니다.
다음 줄:Dim envFrmwrkPath As Range변수를 선언합니다.envFrmwrkPath유형의Range즉, 범위만 설정할 수 있습니다.
다음 줄:Set envFrmwrkPath = ActiveSheet.Range("D6").Value설정을 시도하는 중입니다.Range셀에 있는 특정 값에 대한 변수를 입력합니다.D6예를 들어 셀에 있는 내용에 따라 정수 또는 문자열일 수 있지만 범위가 아닙니다.
변수에 값이 저장되기를 원하는 것 같습니다.다음과 같은 방법을 사용해 보십시오.
Dim MyVariableName As Integer
MyVariableName = ActiveSheet.Range("D6").Value
이것은 셀 D6에 숫자(예: 5)가 있다고 가정합니다. 이제 변수에 값이 표시됩니다.
단순한 학습을 위해, 당신은 제거하거나 논평할 수 있습니다.Option Explicit선과 VBA는 실행 시 변수 유형을 결정하려고 시도합니다.
코드의 이 부분을 사용해 보십시오.
Dim envFrmwrkPath As String
Dim ApplicationName As String
Dim TestIterationName As String
간단히 제거합니다..value당신의 코드로부터.
Set envFrmwrkPath = ActiveSheet.Range("D6").Value
이 대신 다음을 사용합니다.
Set envFrmwrkPath = ActiveSheet.Range("D6")
두 가지 방법이 있습니다
-값을 원하는 경우:
Dim MyValue as Variant ' or string/date/long/...
MyValue = ThisWorkbook.Sheets(1).Range("A1").Value
-셀 객체를 원하는 경우:
Dim oCell as Range ' or object (but then you'll miss out on intellisense), and both can also contain more than one cell.
Set oCell = ThisWorkbook.Sheets(1).Range("A1")
Private Sub CommandButton1_Click()
Workbooks("Textfile_Receiving").Sheets("menu").Range("g1").Value = PROV.Text
Workbooks("Textfile_Receiving").Sheets("menu").Range("g2").Value = MUN.Text
Workbooks("Textfile_Receiving").Sheets("menu").Range("g3").Value = CAT.Text
Workbooks("Textfile_Receiving").Sheets("menu").Range("g4").Value = Label5.Caption
Me.Hide
Run "filename"
End Sub
Private Sub MUN_Change()
Dim r As Integer
r = 2
While Range("m" & CStr(r)).Value <> ""
If Range("m" & CStr(r)).Value = MUN.Text Then
Label5.Caption = Range("n" & CStr(r)).Value
End If
r = r + 1
Wend
End Sub
Private Sub PROV_Change()
If PROV.Text = "LAGUNA" Then
MUN.Text = ""
MUN.RowSource = "Menu!M26:M56"
ElseIf PROV.Text = "CAVITE" Then
MUN.Text = ""
MUN.RowSource = "Menu!M2:M25"
ElseIf PROV.Text = "QUEZON" Then
MUN.Text = ""
MUN.RowSource = "Menu!M57:M97"
End If
End Sub
언급URL : https://stackoverflow.com/questions/21358540/excel-vba-run-time-error-424-object-required
'programing' 카테고리의 다른 글
| MariaDB 10.1.44 row_number()가 없는 행 번호 (0) | 2023.06.08 |
|---|---|
| 팬더 병합 - 열 중복 방지 방법 (0) | 2023.06.08 |
| Vuewatcher 및 Vuex가 제대로 작동하지 않음 (0) | 2023.06.08 |
| Path 환경 변수 구분기를 Python에서 가져오는 방법은 무엇입니까? (0) | 2023.06.08 |
| 숫자를 고정 너비로 형식 지정(앞에 0이 있음) (0) | 2023.06.08 |