-
환율 계산기
연습용, 기록용
UPDATE EXCHANGE 버튼 클릭 시 달러 대비 원화 환율 업데이트
기준
exchangeratesspi.io
무료버전은 유럽 환율 기준이라, EUR 기준으로 USD와 KRW의 환율 값을 가져온 뒤 다시 계산
코드
Sub GetUSDToKRWExchangeRateWithDateTime()
Dim http As Object
Dim JSON As Object
Dim url As String
Dim ws As Worksheet
Dim lastRow As Long
Dim usdToKrw As Double
' API URL 설정 (KRW와 USD 요청)
url = "https://api.exchangeratesapi.io/v1/latest?access_key=13a71d631b5cda38f59860e104ddde07&symbols=KRW,USD"
' HTTP 요청
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
http.Send
' JSON 파싱
If http.Status = 200 Then
Set JSON = JsonConverter.ParseJson(http.responseText)
' USD-KRW 환율 계산
If Not IsEmpty(JSON("rates")("KRW")) And Not IsEmpty(JSON("rates")("USD")) Then
usdToKrw = JSON("rates")("KRW") / JSON("rates")("USD")
' 데이터를 저장할 워크시트 설정
Set ws = ThisWorkbook.Sheets("Sheet1")
' 마지막 행 찾기
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
' 데이터 추가 (날짜 + 시간)
ws.Cells(lastRow, 1).Value = Now ' 현재 날짜와 시간
ws.Cells(lastRow, 2).Value = 1 ' RATE(USD)는 항상 1로 설정
ws.Cells(lastRow, 3).Value = Round(usdToKrw, 2) ' RATE(KRW)에 환율 값
' 테두리 설정 (A4:C 마지막 행에만 테두리 적용)
With ws.Range(ws.Cells(4, 1), ws.Cells(lastRow, 3)).Borders
.LineStyle = xlContinuous
.Weight = xlThin
End With
' 정렬 설정 (A1:C 마지막 행까지 적용)
With ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, 3))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
MsgBox "환율 데이터가 업데이트되었습니다.", vbInformation
Else
MsgBox "환율 데이터가 누락되었습니다.", vbExclamation
End If
Else
MsgBox "API 요청 실패: " & http.Status, vbExclamation
End If
End Sub'AI 활용기록' 카테고리의 다른 글
[AI 그림그리기] 나만의 로고 만들기, 아이디오그램 Ideogram (3) 2024.12.04 [AI 그림그리기] 낙서를 그림으로, 오토드로우 Auto draw (0) 2024.12.04