반응형

전체 글225

Excel VBA 에러발생시 대응책 먼저 에러가 발생하는 경우는 크게 4가지가 있습니다. 1. 단순한 문법오류의 경우 2. 선택한 범위나 인덱스가 존재하지 않을 경우 3. 변수의 타입이 실제 데이터와 다를 경우 4. 0을 나누는 계산을 할 경우 에러발생시의 대책으로는 크게 4가지 처리가 있습니다. 1. VBA는 변수선언을 하지않아도 사용할 수 있지만 그로인해서 에러가 발생할 경우가 있으니 강제적으로 변수선언을 위해서 각 모듈의 첫행에 Option Explicit를 추가하는것으로 해결됩니다. Option Explicit 2. VBA의 실행전에 컴파일을 실행해서 미연에 에러가 발생되는지 확인하는것이 중요합니다. 컴파일방법은 디버그메뉴의 서브메뉴중 VBA프로젝트이 컴파일러를 실행해주시면 됩니다. 3. 실제 에러가 발생시에 VBA의 실행을 멈추지.. Etc 2021. 8. 1.
EXCEL VBA FileSystemObject의 CopyFile 메소드 실행중 에러발생시 해결방법 1.구성 FileSystemObject의 object를 생성해서 원본파일Path, 신규파일폴더를 설정해서 실행합니다. 2.문법 object.CopyFile source, destination, [ overwritefiles ] object(FileSystemObject), source(원본파일Path), overwritefiles(동일한 파일명이 있을때는 덮여쓰기여부를 true, false로 설정) //오브젝트 선언 Dim objFSO As Object Set objFSO = CreateObject("Scripting.FileSystemObject") //복사할 폴더Path선언 Dim backUpFolderPath As String Set backUpFolderPath = "복사할 폴더Path" //원본.. Etc 2021. 7. 31.
LINQ ToLookup 사용법 ToLookup는 컬렉션(List, Array, Dictionay)의 요소중에서 특정 데이터의 키값을 가지고 데이터를 가져올때 사용됩니다. 샘플코드에서는 학생의 점수를 클래스의 키값으로 각 클래스에 속한 학생의 점수를 가져올 수 있습니다. private class TestResult { /// /// 소속 클래스 /// public string Class { get; set; } /// /// 성명 /// public string Name { get; set; } /// /// 점수 /// public int Score { get; set; } /// /// 출력문자열 /// /// public override string ToString() { return string.Format("Class:{0},.. C# 2021. 7. 30.
LINQ Intersect 사용법 Intersect는 컬렉션(List, Array, Dictionay)간의 요소중에서 컬렉션에 중복으로 포함되는 요소를 찾을 때 사용됩니다. 샘플코드에서는 숫자 리스트간의 비교를 통해서 중복 요소를 찾을 수 있습니다. static void Main(string[] args) { // 비교할 숫자리스트 int[] numbers1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] numbers2 = new int[] { 2, 4, 6, 8, 10 }; //숫자리스트1을 기준으로 숫자리스트2에 중복으로 포함된 값만 가져온다. IEnumerable results = numbers1.Intersect(numbers2); // 숫자리스트1, 숫자리스트2, 중복숫자 결과값 .. C# 2021. 7. 28.
LINQ Except 사용법 Except는 컬렉션(List, Array, Dictionay)간의 요소중에서 컬렉션에 중복으로 포함되는 요소를 제외한 유일한 요소를 찾을때 사용됩니다. 샘플코드에서는 숫자 리스트간의 비교를 통해서 유일한 요소를 찾을 수 있습니다. static void Main(string[] args) { // 비교할 숫자리스트 int[] numbers1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] numbers2 = new int[] { 2, 4, 6, 8, 10 }; //숫자리스트1을 기준으로 숫자리스트2에 포함되어 있는 값을 제외한다. IEnumerable results = numbers1.Except(numbers2); // 숫자리스트1, 숫자리스트2, 숫자비교.. C# 2021. 7. 27.
LINQ BinarySearch 사용법 BinarySearch는 컬렉션(List, Array, Dictionay)의 요소의 검색결과의 인덱스값을 확인할 때 사용합니다. 샘플코드는 10개의 숫자를 설정한 리스트에서 값이 72인 인덱스 값을 확인할 수 있습니다. 특이점은 검색조건의 값이 복수로 존재할 때도 한개의 인덱스 값만을 확인할 수 있는 점입니다. // 검색용 리스트 생성 List number = new List(); // 숫자리스트에 값을 설정 for (int i = 1; i C# 2021. 7. 26.
LINQ Zip 사용법 Zip는 데이터 컬렉션(List, Array, Dictionay)의 각각의 요소를 병합할 때 사용됩니다. 다른 형태의 컬렉션도 타입이 맞는다면 병합이 가능합니다. 특이사항으로는 Concat와 다른점은 각각의 스퀀스(순번)가 맞는 요소간의 병합만 가능하다는 점이 다릅니다. 샘플코드는 숫자 데이터의 덧셈 결과를 확인할 수 있습니다. public static class Program { static void Main(string[] args) { // 숫자데이터1,2 샘플데이터 생성 int[] numbers1 = new int[] { 1, 2, 3, 4, 5 }; float[] numbers2 = new float[] { 5, 4, 3 }; // 숫자데이터1 + 숫자데이터2의 덧셈 처리 IEnumerable .. C# 2021. 7. 25.
LINQ Concat 사용법 Concat는 데이터 컬렉션(List, Array, Dictionay)의 각각의 요소를 병합할 때 사용됩니다. 특징으로는 다른 형태의 컬렉션도 병합이 가능하다는 점입니다. 샘플코드는 Array형태의 Int와 List형태의 Int를 병합이 가능한것을 확인할 수 있습니다. 물론 같은 형태의 켈력션도 병합이 가능합니다. public static class Program { static void Main(string[] args) { // Array타입의 숫자 데이터, List타입의 숫자 데이터 var numbers1 = new int[] { 0, 1, 2, 3, 4 }; var numbers2 = new List { 5, 6, 7, 8, 9 }; // Linq 병합쿼리 실행 // 숫자데이터1 + 숫자데이터2 .. C# 2021. 7. 24.
LINQ Left Outer Join 사용법 Left Outer Join(왼쪽 외부조인)는 기준이 되는 데이터를 모두 반환합니다. 샘플코드는 UserGroup테이블이 기준이 되는 데이터이므로 모든 그룹명이 조회되지만 Seventeen의 경우에는 User테이블에 해당 그룹의 멤버명이 존재하지 않으므로 멤버명은 반환이 되지않습니다. /// /// Group정보 클래스 /// class UserGroup { public string GroupName { get; set; } public string UserGroupID { get; set; } } /// /// User정보 클래스 /// class User { public string UserName { get; set; } public string UserGroupID { get; set; } } s.. C# 2021. 7. 23.
LINQ Inner Join 사용법 Inner Join(내부조인)는 모든 테이블에 일치하는 데이터가 존재하는 경우에만 데이터를 반환합니다. 샘플코드는 UserGroup테이블과 User테이블간에 ID가 일치하는 데이터만 반환하는것을 확인할 수 있습니다. Seventeen의 경우에는 UserGroup테이블에는 존재하지만 User테이블에 존재하지 않으므로 반환된 데이터에 확인이 안됩니다. /// /// Group정보 클래스 /// class UserGroup { public string GroupName { get; set; } public string UserGroupID { get; set; } } /// /// User정보 클래스 /// class User { public string UserName { get; set; } public .. C# 2021. 7. 22.
LINQ Where메서드의 조건중에서 null값이 있을경우의 처리방법 LINQ로 DataTable이나 컬렉션(List, Array, Dictionary)의 요소중에서 조건에 맞는 데이터만 가져올경우에 Null값이 포함될 경우가 있을때, 일반적인 Where조건을 사용할 경우 제대로 된 결과가 안나오거나 에러가 발생할때 유용하게 사용됩니다. 샘플코드는 문자열 리스트에 Null값이 있으며, 조건에 맞는 데이터를 가져올수 있도록 Where조건에 Null값을 배제하도록 설정하는 방법입니다. 중요한 포인트는 (r ?? string.Empty)부분으로 문자열 리스트의 값중에서 null있을 경우에 빈값으로 강제적으로 처리해주는 부분입니다. //10개의 국가명 문자열 리스트 var list = new List { null, "South Korea", "Belgium", "France", .. C# 2021. 7. 21.
LINQ Distinct, Skip, Take메서드 사용법 1.LINQ Distinct메서드는 컬렉션(List, Array, Dictionary)의 요소중에서 중복되지 않는 데이터를 확인할 때 사용합니다. 샘플코드는 20개의 숫자 리스트중에서 중복되지 않는 숫자 확인이 가능합니다. var list = new List { 1, 10, 55, 22, 33, 44, 55, 84, 95, 95, 40, 6, 13, 26, 33, 77, 88, 99, 56, 88 }; // 숫자리스트중에서 중복되지 않는 숫자를 취득 var distinctList = list.Distinct(); Console.WriteLine(" qurey1 distinct"); foreach (var x in distinctList) { Console.WriteLine(x); } 결과값 2.LINQ .. C# 2021. 7. 21.
반응형