목록컴퓨터/엑셀 (226)
rand(life)
cmd 명령의 결과를 텍스트파일로 받기아래는 ping의 결과 Option Explicit Sub checkping() Dim cmd As String Dim res, goWSH, aRet Dim s As String, e As String Set goWSH = CreateObject("WScript.Shell") cmd = "ping -n 1 " & [a1] Set aRet = goWSH.exec(cmd) res = CStr(aRet.stdout.readall()) s = InStr(res, "(") e = InStr(res, "),")[b1] = Mid(res, s + 1, e - s - 1)End Sub
지식인에서 답변을 달기 위해 코딩을 하다가 문득 생긴 의문이다. 범위대 범위를 한번에 비교할 수 있는 방법은 없을까?그래서 지식인에 질문을 했다. A1:C1 범위와 A2:C2 범위의 값을 각각 비교하고 싶어서(즉, A1과 A2를 비교, B1과 B2를 비교, C1과 C2를 비교)if range("A1").resize(,3) = range("A2").resize(,3) then 이렇게 했더니 오류 메시지가 뜨네요.If [a1] = [a2] and [b1] = [b2] and [c1] = [c2] then이렇게 하나씩 비교하는 수 밖에 없나요?범위대 범위로 한번에 비교하는 방법이 있는지 궁금합니다. 두 개의 답변이 달렸다. 그것도 지식인 랭킹 1,2위를 하시는 분들께서! 한분의 답은 For ~ Next 순환문..
지식인 질문에 대한 답이다. 나는 만들어진 단어 9개씩의 한 줄도 중복되는 것이 있을거라보고 중복을 없애기 위해 Collection을 이용했는데, 큰형님은 그런 과정 없이 숫자만 100으로 바꾸었다. 25개 중에서 9개 뽑는 정도로는 쉽게 중복되지 않는 것이라 본 것일까..... Sub Macro() Dim valR(), T() As Variant Dim nc As New Collection Dim rng As Range Dim i As Integer, c As Integer, n As Integer, r As Integer Dim str As String Dim s As Variant Set rng = Range("B3:B27")Do Until nc.Count = 100 '콜렉션이 100개가 될때까지 ..
겉보기에는 빈칸인데 F5 이동키를 이용해서 빈칸을 선택하려해보면 안잡히는 셀이 가끔 있다. 주로 인터넷에서 자료를 복사해오거나 할 때 주로 생기는데, 수식이나 기능을 써야할때 이 것들 때문에 오류가 나서 짜증나게 한다. 이런 유령문자를 없애는 데는 몇 가지 방법이 있는데, 여기서는 두 가지를 소개한다. 첫번째는 텍스트 나누기를 이용하는 방법이다. 아래처럼 유령문자가 있는 열을 선택하고텍스트나누기를 실행하고, 첫단계에서 바로 "마침"을 누르는 것이다. 이 방법은 간단해서 좋은데, 텍스트나누기는 여러 열을 선택하고 한꺼번에 실행할 수가 없기 때문에, 해야할 열이 많거나 여러 파일에서 같은 일을 해야하면 VBA를 이용해야한다. Sub QuickReplace()Dim XDim lngRow As LongDim l..
지식인 답변했던 것 중 쓸모있다고 생각되는 것을 기억하기 쉽게 정리해두려고 한다. 다음에 비슷한 일이 있으면 또 써먹을 수 있게..아래는 "특정문구가 들어가 있는 페이지만 인쇄할 수 있나요?"라는 질문에 대한 답이다. Sub checkprint()Dim ws As WorksheetDim rng As Range, c As RangeDim str As String, strFirstAddr As StringDim h As HPageBreak '페이지나누기 표시도 Type으로 지정할 수 있다는 것을 처음 알았다.Dim lc As Long, i As LongDim lpc As DoubleDim arr() '페이지 나누기가 있는 곳의 셀 주소를 담을 배열변수 Set ws = Worksheets(1)Set rng =..
2차원 배열에서 특정차원에 지정된 값이 있는지 검색하는 법 Application.Match(변수, Application.Index(배열, 0, 컬럼위치), 0) index함수에서 두,세번째 인수를 0을 주면 해당 배열을 반환한다는 점을 이용 index(arr, 0, 3) 하면 arr배열에서 3번째 칼럼을 의미index(arr, 2, 0) 하면 2번째 행 arr 배열이 다음과 같다면 1 학번1 이름1 과목12 학번2 이름2 과목23 학번3 이름3 과목3index(arr, 0, 3)은 이름1,이름2,이름3… 의 배열을 의미한다. 따라서 arr배열에서 이름2라는 값이 있는지, 있다면 어디에 있는지를 확인 가능하다.
드디어 신 등급에 올라섰다! '식물신'이라 이름이 좀 거시기하긴한데 ㅎㅎ 그래도 신은 신이니까, 이제 의견도 하루에 100개씩 달 수 있다!
--회사에서 바로 통하는 엑셀 실무강의--47[이름정의 공백없이 한꺼번에 하기]F5 – 상수 선택 – 선택영역에서 이름정의만들기 55 셀서식yyyy-mm-dd(aaa) --> 2017-01-21(금) 60 셀서식#,##0, 천단위#,##0,, 백만단위 24시간이 넘는 누적시간 표시할 때 [h] (누적분 [m], 누적초 [s]) 66 조건부서식True 일 경우 중지: 2007 이전 버전과의 호환성을 위해, 체크하면 이전 버전으로 저장할 때 규칙평가를 중지함 81 셀서식mm“월” --> 07월 79 연간계획표 www.hanbit.co.kr/media 에서 예제 다운로드 가능 88 [여러 시트에 한꺼번에 머리글/바닥글 설정하기]여러 시트선택 – 페이지 레이아웃 보기 – 화면에서 직접 수정 93 머리글/바닥글 ..