엑셀 자동 입력 매크로 1
엑셀 자동 입력 매크로를 이용하여 구글의 검색 키워드 관련 검색어를 자동으로 채워주는 예시를 정리하였습니다.
엑셀 자동 입력 매크로 연관 검색어 찾기
구글 검색창에 단어를 입력하면 해당 검색으로 가장 많이 검색한 키워드 목록을 자동으로 찾아줍니다.
즉, 키워드에 해당하는 가장 많은 관심 내용이 무엇인지를 알 수 있는 것입니다.
예를 들어, '엑셀'이라고 구글 검색창에 입력하면 위의 그림과 화면이 보여집니다.
사람들이 엑셀 관련 가장 관심이 많은 내용이 다음과 같은 순서라는 의미입니다.
-
엑셀 매크로 크롤링
-
엑셀 매트로 크롤링
-
엑셀 매크로 위키
검색어의 연관 검색어를 팝업으로 보여주는 매크로
연관 검색어를 좀더 쉽게 조사할 수 있도록 엑셀 'A'열에 입력한 검색어의 연관 검색어를 조사하여 B, C, D... 열어 자동 입력해주는 매크로 입니다.
우선, 키워드를 입력하면 아래와 같이 연관 검색어를 팝업창으로 보여주는 코드입니다.
아래 코드를 엑셀에서 Alt+F11을 눌러 VBA 입력기를 실행하고 삽입/모듈 메뉴에서 아래 붙여넣고 F5를 눌러 실행하면 검색어 입력창이 보입니다. 조사를 원하는 검색어를 입력하면 위와 같은 결과 화면이 보입니다.
' 엑셀 자동 입력 매크로 코드입니다.
Function GetHttpResponse(url As String) As String
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
http.send
If http.Status = 200 Then
GetHttpResponse = http.responseText
Else
GetHttpResponse = ""
End If
End Function
' 엑셀 자동 입력 매크로 검색어의 연관 검색어 조회 및 파싱
Function GetGoogleKeywordSuggestions(keyword As String, lang As String) As Variant
Dim s As String
Dim v As Variant
Dim i As Long
s = GetHttpResponse("https://www.google.com/complete/search?q=" & keyword & "&client=gws-wiz&hl=" & lang & "&authuser=0")
' 검색어 추천 결과를 처리
If s <> "" Then
s = Replace(s, "\u003cb\u003e", "")
s = Replace(s, "\u003c\/b\u003e", "")
' JSON 형식의 문자열을 파싱하여 추천 검색어를 추출
s = Split(s, "[[[")(1)
v = Split(s, "[""")
For i = LBound(v) To UBound(v)
v(i) = Replace(Left(v(i), InStr(1, v(i), """,")), """", "")
Next
GetGoogleKeywordSuggestions = v
Else
GetGoogleKeywordSuggestions = Array("No response from server")
End If
End Function
' 엑셀 자동 입력 매크로 검색어의 연관 찾아 팝업
Sub ShowGoogleKeywordSuggestions()
Dim keyword As String
Dim lang As String
Dim suggestions As Variant
Dim i As Long
Dim result As String
' 키워드와 언어 입력
keyword = InputBox("검색어를 입력하세요:", "Google Keyword Suggestions")
lang = "ko" ' 언어 설정 (예: 한국어)
If keyword = "" Then
MsgBox "검색어를 입력하지 않았습니다."
Exit Sub
End If
' 검색어 추천 목록 가져오기
suggestions = GetGoogleKeywordSuggestions(keyword, lang)
' 결과를 문자열로 구성
result = "검색어 추천 목록:" & vbCrLf & vbCrLf
For i = LBound(suggestions) To UBound(suggestions)
result = result & suggestions(i) & vbCrLf
Next
' 결과를 메시지 박스로 표시
MsgBox result, vbInformation, "Google Keyword Suggestions"
End Sub
엑셀의 검색어 목록의 연관 검색으로 자동 조사해주는 엑셀 자동 입력 매크로
엑셀의 A열에 검색어를 입력해두고 아래 코드를 Alt+F11눌러 VBA입력기에서 삽입/모듈 입력창에 아래 코드를 복붙하고 F5를 눌러 실행하면 B,C,D...에 자동으로 연관 검색어가 입력됩니다.
' 엑셀 자동 입력 매크로 연관 검색어 일괄 조회 코드입니다.
Sub FillGoogleKeywordSuggestions() Dim ws As Worksheet
Dim lastRow As Long Dim i As Long
Dim keyword As String Dim lang As String
Dim suggestions As Variant Dim j As Long
' 작업할 시트 설정
Set ws = ThisWorkbook.Sheets("Sheet1")
' A 컬럼의 마지막 행 찾기 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 언어 설정 (예: 한국어)
lang = "ko"
' A 컬럼의 값을 읽어 B, C, D... 컬럼에 기입 For i = 1 To lastRow
keyword = ws.Cells(i, 1).Value If keyword <> "" Then
suggestions = GetGoogleKeywordSuggestions(keyword, lang) If IsArray(suggestions) Then
For j = LBound(suggestions) To UBound(suggestions) ws.Cells(i, j + 2).Value = suggestions(j)
Next j Else
ws.Cells(i, 2).Value = "결과없음" End If
Else ws.Cells(i, 2).Value = "결과없음"
End If Next i
MsgBox "완료되었습니다.", vbInformation, "Google Keyword Suggestions"
End Sub
' 엑셀 자동 입력 매크로 http 조회
Function GetHttpResponse(url As String) As String Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False http.send
If http.Status = 200 Then
GetHttpResponse = http.responseText Else
GetHttpResponse = "" End If
End Function
' 엑셀 자동 입력 매크로 검색어의 연관 검색어를 찾아 파싱
Function GetGoogleKeywordSuggestions(keyword As String, lang As String) As Variant Dim s As String
Dim v As Variant Dim i As Long
s = GetHttpResponse("https://www.google.com/complete/search?q=" & keyword & "&client=gws-wiz&hl=" & lang & "&authuser=0")
' 검색어 추천 결과를 처리
If s <> "" Then s = Replace(s, "\u003cb\u003e", "")
s = Replace(s, "\u003c\/b\u003e", "")
' JSON 형식의 문자열을 파싱하여 추천 검색어를 추출 s = Split(s, "[[[")(1)
v = Split(s, "[""")
For i = LBound(v) To UBound(v) v(i) = Replace(Left(v(i), InStr(1, v(i), """,")), """", "")
Next
GetGoogleKeywordSuggestions = v Else
GetGoogleKeywordSuggestions = Array("No response from server") End If
End Function
엑샐 VBA 위키
[엑셀 자동 입력 매크로 2](https://www.lalastower.com/blog/dev/%ec%b9%b4%ec%b9%b4%ec%98%a4%ed%86%a1%ec%9c%bc%eb%a1%9c-%ec%b1%97gpt-%eb%b4%87-%eb%a7%8c%eb%93%a4%ea%b8%b0/)