전체보기(295)
-
C# DataGridView 좌측 열에 숫자 및 텍스트 넣기(rowheader) 및 컬럼 선택 시 sort 안되게 하는 법
텍스트 정렬 및 폰트 지정하기 dr.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; dr.HeaderCell.Style.Font = New Font("맑은 고딕", 9.0F, FontStyle.Bold); 좌측 열에 글자 넣기 dr.HeaderCell.Value = "하이"; 좌측 열에 순번 넣기 dr.HeaderCell.Value = String.Format("{0}", num); num += 1; RowHeader 클릭 시 Sort 되는 것 막기 foreach(DataGridViewColumn dc in _dgv.Columns) { dc.SortMode = DataGridViewColumnSortMode.NotSortab..
2020.01.09 -
VBA Enter했을 때 동작하도록
VBA에서도 VB와 마찬가지로 UserForm을 사용할 수 있는데요. Userform에서 텍스트 박스에 내용 입력 후 엔터를 쳤을 때 무언가가 동작 하도록 하고 싶을 때 사용 합니다. Private Sub txtTerm_KeyDown(ByVal KeyCode As msforms.ReturnInteger, ByVal Shift As Integer) '//Keydown If KeyCode = 13 Then 'enter키를 눌렀을 때 동작 ' //코드 작성 End If End Sub
2020.01.08 -
VBA 열 여러개 추가 (insert)
코드 실행 전 코드 : ms.Columns(2).Resize(, 2).Insert Shift:=xlToRight 코드 실행 후 Sub test() Dim m As Workbook: Set m = Workbooks(ThisWorkbook.Name) Dim ms As Worksheet: Set ms = m.Sheets(ActiveSheet.Name) ms.Columns(2).Resize(, 2).Insert Shift:=xlToRight '# ms = 활성화 된 엑셀시트 '# Columns(2) = 두 번째 컬럼(열) '# .Resize(,2) = 두 번째 컬럼에서 우측으로 두 칸 '# .insert = 우측으로 두 칸을 추가한다. '# Shift:=xlToRight = 옵션임 우측으로 추가하는 거 En..
2020.01.08 -
VBA 숫자 정렬, 버블정렬 1탄
소스 Sub GoGo_Bubble() Dim m As Workbook: Dim ms As Worksheet Set m = Workbooks(ThisWorkbook.Name) Set ms = m.Sheets(ActiveSheet.Name) Dim num() As Variant ' //임의 숫자 버블정렬 하기. num() = Array(10, 3, 6, 7, 4, 2, 9, 8, 1) ' //cells에 뿌려보기 For i = 0 To UBound(num) ms.Cells(i + 1, 1) = num(i) Next i ' //Bubble 함수 호출 Call Bubble_Ssun(num()) ' //cells에 뿌려보기 For i = 0 To UBound(num) ms.Cells(i + 1, 2) = num(..
2020.01.08 -
VBA 배열과 Range의 속도차이!
100,000행에 "ㅎㅎ" 라는 글자를 넣는 업무를 한다고 하면! Range를 사용해서 넣었을 때와 배열을 사용해서 넣었을 때의 속도차이를 보겠다. 우선 Range를 사용하여 "ㅎㅎ"라는 글자를 넣는다. Range : 100,000 행에 "ㅎㅎ" 라는 글자 채우기 : 1.63초 [Range 사용] Sub test() Dim m As Workbook: Set m = Workbooks(ThisWorkbook.Name) Dim ms As Worksheet: Set ms = m.Sheets(ActiveSheet.Name) Dim oldTime As Single: oldTime = Timer Dim rng As Range, rn As Range Set rng = ms.Range("A1:A100000")..
2020.01.08 -
VBA Redim Preserve 하다보면 발생하는 오류 '형식이 맞지 않습니다.'
생각으로는 "배열사이즈를 늘리면서 값이 있는 것만 들어가게 해야지!" 했을 때 아래 처럼 생각을 했다. Redim Preserve v(1 to r, 1 to 2) 이런식으로 배열크기를 재 지정하면서 r = r + 1 Row 사이즈를 늘린다. 하지만 이 때 이 렇게 Redim Preserve를 사용했을 때 오류가 발생할 것이다. 왜냐하면 Redim Preserve v(1 to 1, 1 to 1) 사이즈 지정할 때 마지막 차원의 값만 늘릴 수 있다. 즉 v(row, col) 구조라고 하면 row를 늘리면서 사용할 수는 없다는 것이고, col은 늘리면서 preserve를 사용할 수 있다. Dim r as integer, c as integer r = 1: c = 1 ReDim vs(1 To ..
2020.01.08