http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=72846894&qb=7JeR7IWA7YyM7J28IOyXtOyngCDslYrqs6Ag7JeF642w7J207Yq4&enc=utf8&section=kin&rank=3&search_sort=0&spq=0
 

Sub Macro1()

Dim rng As Range, rngList As Range
Dim strVar As String, strFile As String
  Set rngList = Range(Cells(2, 1), Cells(Rows.Count, 1).End(3))
  With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
   For Each rng In rngList
   strFile = ThisWorkbook.Path & Application.PathSeparator & rng.Value & ".xls"
   If Dir(strFile) <> Empty Then
    Workbooks.Open Filename:=ThisWorkbook.Path & "\" & rng.Value & ".xls"
       strVar = Sheets("Ratio").Range("B38").Value
         rng.Next = IIf(strVar = "비율산정 없음", "-", strVar)
        ActiveWorkbook.Close
        Else
          rng.Next = "Skip"
        End If
      Next rng
       .ScreenUpdating = True
      .DisplayAlerts = True
  End With
End Sub

반응형

http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=71906817&qb=7JeR7IWA7YyM7J28IOyXtOyngCDslYrqs6Ag7JeF642w7J207Yq4&enc=utf8&section=kin&rank=2&search_sort=0&spq=0

안녕하세요~

excell4.0메크로를 사용하시면 될듯합니다.

 

불러올 파일과 기록할 파일이 같은 폴더에 있다고 가정합니다.

 

불러올 파일 이름이 XLM_1.XLS 일때

기록할 파일의 B2:B4셀에

XLM_1.XLS 파일의 Sheet1 시트의 A1:A3셀의 데이타를 불러오는 경우의 코드입니다.

참조하시고 좋은 결과 있으시길~~~

 

Option Explicit

 

Sub Call_Data()
Dim strPath As String, strFile As String, strSht As String, strCell As String
Dim i As Integer

 

strPath = ThisWorkbook.Path & "\"
strFile = "XLM_1.xls"
strSht = "Sheet1"


For i = 0 To 2
    strCell = Range("a1").Offset(i, 0).Address
    Range("b2").Offset(i, 0) = Get_Data(strPath, strFile, strSht, strCell)
Next

End Sub

 

 

 

Function Get_Data(Path, File, Sht, Cell)

Dim strD As String
   

strD = "'" & Path & "[" & File & "]" & Sht & "'!" & Range(Cell).Address(, , xlR1C1)
Get_Data = ExecuteExcel4Macro(strD)

End Function

 

반응형

http://kin.search.naver.com/search.naver?where=kin&sm=tab_jum&ie=utf8&query=%EC%97%91%EC%85%80%20%EC%97%B4%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8&&nso=so%3Ar%2Ca%3Aall%2Cp%3Aall

안녕하세요~

 

어차피 VBA 를 사용해야될 상황인것 같은데요...

 

파일을 열고 닫는거야 눈 깜짝할 사이에 이루어 지므로 크게 문제될건 없지 않나요?

 

sub Test()

dim ws1  as worksheet

dim ws2  as worksheet

dim wb1 as workbook

dim wb2 as workbook

 

application.screenupdating=false

application.calculation=xlcalculationmanual

set wb1=thisworkbook

set ws1=wb1.sheets("Sheet1")

set wb2=workbooks.open(thisworkbook.path & application.pathseparator & "B.xls")

set ws2=wb2.sheets("Sheet1")

ws2.range("K1").value=ws1.range("A1").value

application.calculate

ws1.range("B1:F1").value=ws2.range("L1:P1").value

wb2.close true

application.calculation=xlcalculationautomatic

application.screenupdating=true

end sub

반응형

 지금까지 써본건 SAS였고, Pro*C는 구글 뒤져가면서 읽을 줄은 알고 C, Java는 개인적으로 공부를 해왔다. 위의 4가지 언어의 공통점은 모두 ';'로 문장이 끝난다는 것이다.(SAS는 팩키지 언어이기는 해도 나름 강력한 맛이 있으니 통과)

 근데 이 망할넘의 vba는 ';'로 끝나지를 않는다. 그래서 오늘은 간단한 if else if end if를 갖고 고민을 하게 되었다. 여기서는 ';' 없으니까 정말 꼼꼼하게 줄을 가다듬지 않으면 에러가 마구 난다. 나? 줄 정렬을 잘해야 하는데 익숙하지가 않다. SAS를 쓰면서도 가독성을 위해서 가급적 널찍널찍하게 쓰던 애가 vba좀 하는데 이 개고생을 하려니 좀 짜증난다.

 그리고 vba는 종잡을 수 없고 지 마음대로 바꾸고 하니깐, 따라가기가 쉽지가 않다. 지금까지 C는 에디터와 shell에서 Java는 
 지금까지 써본건 SAS였고, Pro*C는 구글 뒤져가면서 읽을 줄은 알고 C, Java는 개인적으로 공부를 해왔다. 위의 4가지 언어의 공통점은 모두 ';'로 문장이 끝난다는 것이다.(SAS는 팩키지 언어이기는 해도 나름 강력한 맛이 있으니 통과)

 근데 이 망할넘의 vba는 ';'로 끝나지를 않는다. 그래서 오늘은 간단한 if else if end if를 갖고 고민을 하게 되었다. 여기서는 ';' 없으니까 정말 꼼꼼하게 줄을 가다듬지 않으면 에러가 마구 난다. 나? 줄 정렬을 잘해야 하는데 익숙하지가 않다. SAS를 쓰면서도 가독성을 위해서 가급적 널찍널찍하게 쓰던 애가 vba좀 하는데 이 개고생을 하려니 좀 짜증난다.

 그리고 vba는 종잡을 수 없고 지 마음대로 바꾸고 하니깐, 따라가기가 쉽지가 않다. 지금까지 C는 에디터와 shell에서 Javaeh 에디터와 shell에서 돌린다. 책에서는 가급적 인텔리센스를 쓰지 말라고 권고를 했고, SAS에서는 아직도 인텔리센스가 안되므로 VBA처럼 알아서 툭툭 튀어나오는 것에는 익숙치가 않다.

 아, 진짜 VB도 이런건가? 짜증이 '어흥어흥'하고 밀려오는구만.
반응형

+ Recent posts