SMALL

    Cells.Find(What:="찾을셀Text", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate

' 현재셀 변수저장

Set nowAddress = Range(ActiveCell.Address)

' 위로한칸이동 (저장할셀로이동)

nowAddress.Offset(-1,0).Select

' 저장할 셀(변수)

Dim adrSave String

adrSave = ActiveCell.Address

 

exam  ) 변수사용시

- Range("A7:" & adrSave)

'  (& 추가)이런식으로 들어간다

LIST
블로그 이미지

SeoHW

,
SMALL
         
         
         
         
         

 

위표 만큼 지정 하는 VBA 소스입니다

 

ActiveCell.Range(Cells(1,1), (Cells(5,5)).Select

LIST
블로그 이미지

SeoHW

,
SMALL

vba 시작부분에
Application.DisplayAlerts = False

끝부분에 
Application.DisplayAlerts = true

LIST
블로그 이미지

SeoHW

,
SMALL

Sub CrtSheet()

'Updated by ExtendOffice 20181009

    Dim xName As String

    Dim xSht As Object

    On Error Resume Next

    xName = InputBox("Please enter a name for this new sheet ", "Kutools for Excel")

    If xName = "" Then Exit Sub

        Set xSht = Sheets(xName)

        If Not xSht Is Nothing Then

            MsgBox "Sheet cannot be created as there is already a worksheet with the same name in this workbook"

            Exit Sub

            End If

            Sheets.Add(, Sheets(Sheets.count)).Name = xName

        End Sub

알림창 없이 추가시에는 아래처럼

Sub CrtSheet2()

            Sheets.Add(, Sheets(Sheets.count)).Name = "시트이름"

        End Sub

 

LIST
블로그 이미지

SeoHW

,
SMALL

오늘은 vue 인스턴스의 라이프 사이클에 대해 공부해보도록 하겠습니다.

인스턴스의 라이프 사이클을 알면 app을 보다 디테일하게 다룰 수 있습니다.

때문에 반드시 알아야 합니다.

 

vue 인스턴스의 라이프사이클은

beforecreate() 인스턴스가 생성되기 전이다.->

created() 인스턴스가 생성되어 데이터를 사용할 수 있습니다.->

beforeMount() div태그 #app의 html 코드가 생성되기 전 상태->

mount()html코드가 div태그 #app에 html코드가 찍혀있는 상태->

beforeupdate() 데이터가 업데이트 되기 전->

updated()되고난후->

beforedestroy()해당 페이지를 종료하기 전->

destroy() 해당 페이지가 종료된 상태

<template>
  <div>
    <h1>this is Home page</h1>
    <p>{{names}}</p>
    <button v-on:click="dateupdate()">click</button>
  </div>
</template>

<script>
export default{
  data(){
   return{
     names:"balmostory"
    }
  },
  beforeCreate(){
    console.log("beforeCreate",this.names)
  },
  created(){
    console.log("created",this.names)
  },
  beforeMount(){
    alert("beforeMount")
  }
  ,
  mounted(){
    alert("mounted")
  },
  beforeUpdate(){
    alert("beforeUpdate")
  },
  updated(){
    alert("updated")
  },
  beforeDestroy(){
    alert("beforeDestroy")
  },
  destroyed(){
    alert("destroyed")
  },
  methods:{
    dateupdate(){
      this.names="hihihi";
    }
  }
}
</script>


<style scoped>
h1{
  color: red;
  font-size: 20px;
}
</style>

펌 https://balmostory.tistory.com/13

LIST
블로그 이미지

SeoHW

,
SMALL

Mongo DB 에서 사용 할 수 있는 쿼리 옵션에 대해 알아본다.

 

lt 는 미만이다.

 

db.nettuts.find( { "age" : { "$lt" : 40 } } );

 

이렇게 쿼리를 보내면 age가 40 미만인 것을 가져온다.

 

 

lte 는 이하 이다.

 

db.nettuts.find( { "age" : { "$lte" : 40 } } );

 

이렇게 쿼리를 보내면 age 가 40 이하인 것을 가져온다.

 

 

gt는 초과 이다.

 

db.nettuts.find( { 'age' : { '$gt' : 47 } } );

 

이렇게 쿼리를 보내면 age 가 47 초과하는 것을 가져온다.

 

 

gte는 이상이다.

 

db.nettuts.find( { 'age' : { '$gte' : 47 } } );

 

이렇게 쿼리를 보내면 age 가 47 이상인 것을 가져온다.

 

 

in은 특정 key의 값이 ㅁㅁㅁ인 경우에 사용한다.

 

db.nettuts.find( { 'occupation' : { '$in' : [ "actor", "developer" ] } }, { "first" : 1, "last" : 1 } );

 

이렇게 사용한다. 이렇게 쿼리를 작성하면 occupation 이 actor이거나 developer인 것을 가져온다.

 

first 와 last 에 각각 1이 있으므로 오름차순으로 정렬한다.

 

nin 은 in과 반대로 동작한다.

 

occupation 이 actor도 아니고 developer도 아닌 것을 가져온다.

 

not 을 알아보자. not 은 부정 연산자이다.

 

db.nettuts.find( { 'occupation' : { '$not' : [ "actor", "developer" ] } }, { "first" : 1, "last" : 1 } );

 

not 뒤의 조건이 아닌 경우를 찾는다.

 

 

정규표현식

 

db.nettuts.find( { "first" : /(ma|to)*/i, "last" : /(se|de)/i  } );

 

이렇게 쿼리를 작성하면 first가 ma 또는 to 로 시작하는 것을 가져온다.

 

그리고 last 가 se 또는 de로 시작하는 것도 가져온다.

 

특정 문자를 포함하는 결과를 모두 가져오려면 이렇게 하면 된다.

 

db.nettuts.find( { "first" : { $regex : /(ma)/ } } );

 

이렇게 하면 ma가 앞뒤로 포함된 모든 결과를 가져온다.



출처: https://fors.tistory.com/403 [Code]

LIST

'mongoDB' 카테고리의 다른 글

node js 에서 mongodb 필드추가  (0) 2021.10.19
블로그 이미지

SeoHW

,
SMALL

조건을 만족하지 않는 행을 삭제하는 VBA Code

 

조건 : A행은 11개의 숫자로 이루어져 있는데 조건을 만족하지 않는 행(Row)은 삭제하라




Sub 행삭제()

    Dim Counter
    Dim i, r As Integer
    Dim rngAll As Range        '// 범위 전체 영역 변수

    Application.ScreenUpdating = False        '화면 업데이트 (일시) 정지
    Cells(2, "A").Select    '// 현재 어느셀에 위치하든 A2 셀을 선택하라
    Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3))
    '// 시작행 A2, 마지막행 자동인식
    Counter = rngAll.Rows.Count

    For i = 1 To Counter

        If Len(ActiveCell.Value) <> 11  Or Not IsNumeric(ActiveCell.Value) Then 

            '// 현재 셀의 길이가 11이 아니거나 숫자가 아니면

'// If ActiveCell.Value = 0  Or Not IsNumeric(ActiveCell.Value) Then


            Selection.EntireRow.Delete     '//해당행 전체 삭제
            Counter = Counter - 1          '// 행이 삭제되어 전체행 수를 하나 줄임
            r = r + 1         '// 삭제된 행의 수를 카운트
        Else
            ActiveCell.Offset(1, 0).Select    '// 아래행으로 이동
        End If
    Next i
    Msgbox "총" & r & "행 삭제"
End Sub



출처: https://link2me.tistory.com/271 [소소한 일상 및 업무TIP 다루기]

LIST
블로그 이미지

SeoHW

,
SMALL

var json = JSON.parse(JSON.stringify(req.query.p) //json 파라미터 req.query.p

 

var jp= eval("(" + req.query.p + ")") //파라미터로 받은 josn "{a: '22'}" 이런식으로 ""가 붙어있으므로 제거를위해 eval을 해준다  "{a: '22'}" -> {a: '22'} 이렇게된다

 

db.collection("컬렉션이름").updateMany({조건}, { $set : jp } , false , true ) 

.then(result =>{

         res.json({ result: 'ok' })

})

 

결과

 

a:22 

 

필드추가된걸확인할수있다.

LIST

'mongoDB' 카테고리의 다른 글

Mongo DB 쿼리 옵션 목록  (0) 2021.10.27
블로그 이미지

SeoHW

,
SMALL

테이블로 디자인된 화면에 동적으로 내용이 변경되는 경우

텍스트의 크기에 따라 테이블이 변경되어 디자인이 깨질 경우가 있다.

다음과 같이 td 태그에  <td width=50 style="word-break:break-all"> 스타일을 지정하여 위와 같은 문제를 해결 할 수 있다.

 

1. html의 경우

- 사이즈를 지정하고 스타일을 정해준다.

// 방법 1 

<table border=1 width=100>
 <tr><td style="word-break:break-all">dddd</td><td>eeee</td></tr>
 <tr><td width=50 style="word-break:break-all" >aaaaaaaaaaaaaaaaaaaddddddddddddddddddddddddddddddddda</td><td width=50>bbbb</td></tr>
 <tr><td>dddd</td><td>eeee</td></tr>
 <tr><td>gggg</td><td>hhhh</td></tr>
</table>

 

 

 //방법2

<table  width="1200" cellpadding="0" cellspacing="1" style="word-wrap:break-word;word-break:break-all;">

 

 

2. javascript 로 동적으로  테이블을 생성할 경우

- 동적으로 테이블 로우를 추가할 경우는 다음과 같이 해준다.

- 사이즈를 지정하고 스타일을 정해준다.

        var newCell_2 = newRow.insertCell(2);
        newCell_2.width = 350;   // td size 지정
        newCell_2.style.wordBreak  = "break-all";

 

 

3. table  자체를 고정할 경우

- 이와 같이 할경우 텍스트 내용이 많을 경우 잘려서 보여지게 된다. 스크롤도 안됨.

<table border=1 width=100 style="table-layout: fixed" >

 

출처:http://blog.daum.net/jooneey22/7006643

LIST
블로그 이미지

SeoHW

,
SMALL

table 리스트 선택시 선택 tr배경 변경,  tr.after 추가

 

function 부분

var r ;

function test(id,ran)

{

   // id 는 (this) 값입니다 ran은 임의숫자를 넣어주었습니다

    $(".testColor").css("background","");

    $(".testColor").removeClass("testColor");

 

    var tr.$(id).closest("tr");

    var ch = tr.chilren();

     var trt = true;

       if(r != ran || r == undefined)

       {

           $("tr[name='test']").remove();

          r= ran;

          tr.after("<tr name='test' class='test'> <td> test1</td> <td> test2 </td> </tr>" );

        }

       var lgt =  $("tr[name='test']").length;

      if(r == ran && lgt == 0)

       {

             //추가된게 없으면 추가

              tr.after("<tr name='test' class='test'> <td> test1</td> <td> test2 </td> </tr>" );

       }

       else if(r == ran && lgt == 1 && trt )

       {

           //같은 목록을 클릭시 추가했던 tr을 다시 닫기

           $("tr[name='test']").remove();

       }

}

 

사용시-------

<input type="button" onclick="test(this,"123453")" />

LIST
블로그 이미지

SeoHW

,