나는 아래 그림 참조한다 : 내가 바로의 두 개의 컬럼으로 FirstValue 열을 분할하고자 Excel : 세 번째, 홀수/짝수 매개 변수 열을 기반으로 열을 두 개의 열로 나누는 방법?
을; 그러나 필자는 매개 변수 열을 기반으로 열을 분할하려고합니다. 매개 변수 값이 홀수 일 경우 OtherValue1 열에 만 값을 복사하려고합니다. 매개 변수 값이 짝수이면 OtherValue2 열에 만 값을 복사하려고합니다. 포럼을 읽고 엑셀의 "Text to Columns"기능을 사용해 본 결과 해결책을 찾지 못했습니다.
VBA를 사용하여 구현하는 방법이 있습니까?
* 참고 : 워크 시트의 길이는 실제로는 약 10,000 행이므로 속도가 또한 도움이됩니다.
편집 : 여기는 제가 지금까지 가지고있는 코드입니다. 동일한 형식을 가정 데이터
의 끝으로 D2에 =IF(MOD(E2,2)=1,B2,"")
, C2에서 .Cells(2, MF1Col).Formula = "=IF(MOD(paraformula,2)=1,WTRfor,"")"
Dim rw As Worksheet
Dim secondCell, MF1Cell, MF2Cell, paraCell, MF1formula, MF2formula, paraformula, WTRfor As Range
Dim secondCol As Long, MF1Col As Long, MF2Col As Long, paraCol As Long
Set rw = ActiveSheet
With rw
Set secondCell = .Rows(1).Find("FirstValue”)
' Check if the column with “FirstValue” is found
'Insert Two Columns after FirstValue
If Not secondCell Is Nothing Then
secondCol = secondCell.Column
.Columns(secondCol + 1).EntireColumn.Insert
.Columns(secondCol + 2).EntireColumn.Insert
.Cells(1, secondCol + 1).Value = "OtherValue1"
.Cells(1, secondCol + 2).Value = "OtherValue2"
.Activate
Set MF1Cell = .Rows(1).Find("OtherValue1")
MF1Col = MF1Cell.Column
Set MF2Cell = .Rows(1).Find("OtherValue2")
MF2Col = MF2Cell.Column
Set paraCell = .Rows(1).Find("Parameter")
paraCol = paraCell.Column
Set paraformula = Range(.Cells(2, paraCol).Address(RowAbsolute:=False, ColumnAbsolute:=False))
Set MF1formula = Range(.Cells(2, MF1Col).Address(RowAbsolute:=False, ColumnAbsolute:=False))
Set WTRfor = Range(.Cells(2, secondCol).Address(RowAbsolute:=False, ColumnAbsolute:=False))
.Cells(2, MF1Col).Formula = "=IF(MOD(" & paraformula & ",2)=1," & WTRfor & ","""")"
Range(.Cells(2, MF1Col).Address).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveSheet.Paste
Set MF2formula = Range(.Cells(2, MF2Col).Address(RowAbsolute:=False, ColumnAbsolute:=False))
.Cells(2, MF2Col).Formula = "=IF(MOD(" & paraformula & ",2)=0," & WTRfor & ","""")"
Range(.Cells(2, MF2Col).Address).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveSheet.Paste
End If
End With
을 매개 변수 열에서 소수점이 존재하지 않습니다. VBA에서 큰 따옴표를 얻는 정수는 – Jonny
이며, 그 중 4 개가 필요하므로', "")'가됩니다. – SeanC
@SeanCheshire, 이제 OtherValue 열에 나타나는 것은 # 이름? 수식에는 인식 할 수없는 텍스트가 포함되어 있습니다. "정확한 텍스트 만 넣고 주소는 참조하지 않습니다. – Jonny