Sub a현금흐름정렬a() Dim lastRowC As Long Dim lastRowD As Long Dim cellC As Range Dim cellD As Range Dim ws As Worksheet
' 현재 워크시트 설정 Set ws = ThisWorkbook.Sheets("tmp현금") ' 시트 이름에 맞게 변경
' C열과 D열의 마지막 행 찾기 lastRowC = ws.Cells(ws.Rows.Count, 3).End(xlUp).row lastRowD = ws.Cells(ws.Rows.Count, 4).End(xlUp).row
' C열을 순회하면서 D열과 비교 For Each cellC In ws.Range("C2:C" & lastRowC) For Each cellD In ws.Range("D2:D" & lastRowD) If cellC.Value = cellD.Value And cellC.Value <> "" Then ' 값이 같으면 F열에 D열의 값, G열에 E열의 값을 복사 cellC.Offset(0, 3).Value = cellD.Value ' F열에 D열 값 복사 cellC.Offset(0, 4).Value = cellD.Offset(0, 1).Value ' G열에 E열 값 복사 Exit For ' 값을 찾으면 다음 C셀로 이동 End If Next cellD Next cellC
MsgBox "F열과 G열에 데이터 정렬이 완료되었습니다!", vbInformation End Sub
import tkinter as tk
from tkinter import filedialog, messagebox
import xlwings as xw
import os
# 전역 변수로 파일 목록 저장
selected_files = []
# .xlsx 파일을 .xlsm으로 변환하는 함수
def convert_xlsx_to_xlsm(xlsx_files):
try:
for xlsx_file in xlsx_files:
# xlwings로 엑셀 파일 열기
wb = xw.Book(xlsx_file)
# .xlsm 파일명 설정
xlsm_file = os.path.splitext(xlsx_file)[0] + '.xlsm'
# .xlsm 파일로 저장
wb.save(xlsm_file)
wb.close() # 저장 후 엑셀 파일 닫기
# 성공 메시지
messagebox.showinfo("성공", f"{len(xlsx_files)}개의 파일이 성공적으로 변환되었습니다.")
except Exception as e:
messagebox.showerror("오류", f"파일 변환 중 오류가 발생했습니다: {str(e)}")
# 파일 선택하는 함수
def select_files():
global selected_files
# 여러 개의 .xlsx 파일을 선택
selected_files = filedialog.askopenfilenames(
title="변환할 .xlsx 파일을 선택하세요",
filetypes=[("Excel 파일", "*.xlsx")],
multiple=True
)
# 파일이 선택되었을 때 UI 업데이트
if selected_files:
selected_files_label.config(text=f"{len(selected_files)}개의 파일이 선택되었습니다.")
convert_button.config(state=tk.NORMAL) # 변환 버튼 활성화
else:
selected_files_label.config(text="파일이 선택되지 않았습니다.")
convert_button.config(state=tk.DISABLED) # 변환 버튼 비활성화
# 변환 시작 함수
def start_conversion():
if selected_files:
convert_xlsx_to_xlsm(selected_files)
else:
messagebox.showwarning("경고", "변환할 파일을 선택하지 않았습니다.")
# GUI 설정
root = tk.Tk()
root.title("XLSX to XLSM 변환기")
root.geometry("400x200")
# 파일 선택 버튼
select_button = tk.Button(root, text="파일 선택", command=select_files)
select_button.pack(pady=20)
# 선택된 파일을 표시할 레이블
selected_files_label = tk.Label(root, text="파일이 선택되지 않았습니다.")
selected_files_label.pack(pady=10)
# 변환 버튼 (초기에는 비활성화)
convert_button = tk.Button(root, text="변환 시작", command=start_conversion, state=tk.DISABLED)
convert_button.pack(pady=20)
# GUI 루프 실행
root.mainloop()
Sub a셀줄나눔셀분리a() Dim rng As Range Dim cell As Range Dim lines() As String Dim i As Long
' 분할할 셀 범위를 지정합니다. ' 예를 들어, A1:A10 범위를 분할하려면 다음과 같이 설정합니다. Set rng = Selection copy_row = 0
For Each cell In rng ' 셀의 내용을 줄바꿈을 기준으로 분할합니다. lines = Split(cell.Value, Chr(10)) ' 분할된 각 라인을 인접한 셀에 넣습니다. For i = 0 To UBound(lines) cell.Offset(copy_row + i, 1).Value = lines(i) Next i copy_row = copy_row + i - 1 Next cell End Sub