VBA 讀取指定范圍內的單元格數據,生成csv文件

目錄

  • 一. 需求
  • 二. 宏代碼
  • 三. 添加按鈕


一. 需求

?有如下表格,現在想在Excel中添加一個按鈕

  • 點擊按鈕之后,讀取該表格中的數據,生成csv文件
  • 將csv文件輸出到和Excel同級目錄

在這里插入圖片描述


二. 宏代碼

  • Application.PathSeparator:路徑分隔符
  • CreateObject("ADODB.Stream")UTF-8 文本流
  • .Range():指定單元格對象
  • .Range("B3").End(xlDown).Row:單元格 B3 開始,向下查找,找到最后一個【連續非空】單元格的行號
    • 💥注意:一定要是連續非空,如果中間有空格,最后的行號會中斷在空格處。
Private Sub Create_CSV_Click()Dim stream As ObjectDim ws As WorksheetDim lineInfo As String' 改行Const adWriteLine = 1' 覆蓋模式Const adSaveCreateOverWrite = 2' 設置目標工作表Set ws = ThisWorkbook.Sheets("SHOP_INFO")' 生成文件名Dim fileName As String: fileName = ThisWorkbook.Path & Application.PathSeparator & ws.Range("A1").Value' 數據讀取開始行Const startLine = 4' 計算數據讀取終了行: 單元格 B3 開始,向下查找,找到最后一個【連續非空】單元格的行號Dim endLine As Long: endLine = ws.Range("B3").End(xlDown).Row' =====================================================================================================' 創建 UTF-8 文本流Set stream = CreateObject("ADODB.Stream")With stream.Charset = "UTF-8"' 使用LF換行符 .LineSeparator = -1 .Open' 逐行寫入 CSV 數據For i = startLine To endLine' 一行csv數據lineInfo = """" & ws.Range("B" & i).Value & """," & _"""" & ws.Range("C" & i).Value & """," & _"""" & ws.Range("D" & i).Value & """," & _"""" & ws.Range("E" & i).Value & """"' 將一行csv數據寫入文件中.WriteText lineInfo, adWriteLineNext i' 保存文件(覆蓋模式).SaveToFile fileName, adSaveCreateOverWrite' 關閉文本流.CloseEnd With' 回收Set stream = NothingMsgBox "CSV 文件創建成功!", vbInformationExit Sub
End Sub

三. 添加按鈕

?如下圖所示,在【開發工具】選項卡中,插入一個按鈕到Sheet頁中

在這里插入圖片描述

?然后將按鈕與宏代碼關聯即可

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81207.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81207.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81207.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Code Agent Benchmark】論文分享No.15:TAU-Bench

論文名稱:τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains 論文:https://arxiv.org/abs/2406.12045 機構:Sierra Github 鏈接:https://github.com/sierra-research/tau-bench# 簡介 相比于Swe-ben…

Linux下 使用 SSH 完成 Git 綁定 GitHub

文章目錄 1、檢查 SSH2、生成 SSH key3、添加 SSH key4、驗證綁定是否成功 1、檢查 SSH Git Bash 中輸入ssh命令,查看本機是否安裝 SSH: 2、生成 SSH key (1)輸入 ssh-keygen -t rsa 命令,表示我們指定 RSA 算法生…

Java 8 Stream 流操作全解析

文章目錄 **一、Stream 流簡介****二、Stream 流核心操作****1. 創建 Stream****2. 中間操作&#xff08;Intermediate Operations&#xff09;****filter(Predicate<T>)&#xff1a;過濾數據****1. 簡單條件過濾****2. 多條件組合****3. 過濾對象集合****4. 過濾 null 值…

Java——設計模式(Design Pattern)

設計模式&#xff08;Design Pattern&#xff09;是軟件開發中針對常見問題的經典解決方案&#xff0c;由 GoF&#xff08;Gang of Four&#xff09;在《設計模式&#xff1a;可復用面向對象軟件的基礎》一書中歸納為23 種模式&#xff0c;分為三大類&#xff1a;創建型模式、結…

python語法學習

1.python的類的定義 class Memory_Manager: 2.__init__ 方法 __init__ 是類的構造方法&#xff0c;用于初始化類的實例。 self 是類實例的引用&#xff0c;用于訪問類的屬性和方法。 3.方法定義 類中的方法是類的功能實現&#xff0c;通過 def 定義。 4.if __name__ __ma…

如何屏蔽mac電腦更新提醒,禁止系統更新(最新有效方法)

每次打開Mac電腦時&#xff0c;頻繁的系統更新提醒可能會對我們的工作和使用體驗造成干擾。為了屏蔽這些更新提醒并禁止系統自動更新&#xff0c;我們可以通過修改Hosts文件來實現。以下是詳細步驟和方法&#xff0c;幫助你徹底屏蔽macOS的更新提醒。 系統關閉了自動更新也是…

windows10重裝ssh無法下載

問題 windows10重裝之后&#xff0c;ssh每次都是由于連接的是流量計數的網絡無法下載。 解決方法 https://www.cnblogs.com/zhg1016/p/17353348.html

解決 cursor 中不能進入 conda 虛擬環境

【問題】 遇到一個小問題&#xff0c;我創建的conda 環境在 cmd、powershell中都可以激活&#xff0c;但在pycharm、cursor中卻不能激活&#xff1f; 看圖 cmd中正常&#xff1a; cursor中不正常&#xff1a; 【解決方法】 cursor 中&#xff0c;打開終端&#xff0c;輸入&a…

跨平臺三維可視化與圖形庫.VTK圖形庫.

1. 科學數據可視化 體繪制&#xff08;Volume Rendering&#xff09; 用于醫學影像&#xff08;如CT、MRI&#xff09;、氣象數據&#xff08;如云層、流體模擬&#xff09;的三維渲染&#xff0c;支持透明度、光照和顏色映射。 等值面提取&#xff08;Iso-Surfacing&#xff…

【螢火工場GD32VW553-IOT開發板】ADC電壓的LabVIEW采集

【螢火工場GD32VW553-IOT開發板】ADC電壓的LabVIEW采集 &#x1f50b; 本文介紹了螢火工場 GD32VW553-IOT 開發板通過串口中斷查詢的方式采集 ADC 電壓及溫度轉換數據&#xff0c;并進一步結合LabVIEW上位機實現數據自動采集和實時監測的項目設計。 項目介紹 串口中斷查詢&a…

視頻監控管理平臺EasyCVR結合AI分析技術構建高空拋物智能監控系統,筑牢社區安全防護網

高空拋物嚴重威脅居民生命安全與公共秩序&#xff0c;傳統監管手段存在追責難、威懾弱等問題。本方案基于EasyCVR視頻監控與AI視頻分析技術&#xff08;智能分析網關&#xff09;&#xff0c;構建高空拋物智能監控系統&#xff0c;實現24小時實時監測、智能識別與精準預警&…

Python----循環神經網絡(LSTM:長短期記憶網絡)

一、RNN的長期依賴問題 可以看到序列越長累乘項項數越多&#xff0c;項數越多就可能會讓累乘結果越小&#xff0c;此時對于W 的更新就取決于第一項或者是前幾項&#xff0c;也就是RNN模型會丟失很多較遠時刻的信息而 更關注當前較近的幾個時刻的信息&#xff0c;即沒有很好的長…

【跨端框架檢測】使用adb logcat檢測Android APP使用的跨端框架方法總結

目錄 Weex 跨端框架使用了uni-app的情況區分使用了uni-app還是Weex 判斷使用了Xamarin判斷使用了KMM框架判斷使用了 ??Ionic 框架判斷使用了Cordova框架判斷使用了Capacitor 框架使用了React Native框架使用了QT框架使用了Cocos框架使用了Electron 框架使用了flutter 框架使用…

以加減法計算器為例,了解C++命名作用域與函數調用

************* C topic: 命名作用域與函數調用 ************* The concept is fully introducted in the last artical. Please refer to 抽象&#xff1a;C命名作用域與函數調用-CSDN博客 And lets make a calculator to review the basic structure in c. 1、全局函數 A…

AIGC小程序項目

一、文生文功能 &#xff08;1&#xff09;前端部分 使用 Pinia 狀態管理庫創建的聊天機器人消息存儲模塊&#xff0c;它實現了文生文&#xff08;文本生成文本&#xff09;的核心邏輯。 1.Pinia狀態管理 這個模塊管理兩個主要狀態&#xff1a; messages&#xff1a;存儲所…

Axios中POST、PUT、PATCH用法區別

在 Axios 中&#xff0c;POST、PUT 和 PATCH 是用于發送 HTTP 請求的三種不同方法&#xff0c;它們的核心區別源自 HTTP 協議的設計語義。以下是它們的用法和區別&#xff1a; 1. POST 語義&#xff1a;用于創建新資源。 特點&#xff1a; 非冪等&#xff08;多次調用可能產生…

[爬蟲知識] Cookie與Session

相關實戰案例&#xff1a;[爬蟲實戰] 爬取小說標題與對應內容 相關爬蟲專欄&#xff1a;JS逆向爬蟲實戰 爬蟲知識點合集 爬蟲實戰案例 一、引入場景 在http協議中&#xff0c;瀏覽器是無狀態&#xff08;即無記憶&#xff09;的&#xff0c;對于請求與響應的產生數據&#…

怎樣改變中斷優先級?

在STM32中改變中斷優先級可以通過STM32CubeMX配置和代碼中設置兩種方式來實現。以下以STM32F1系列為例進行說明: 使用STM32CubeMX配置 打開工程:在STM32CubeMX中打開你的工程。進入NVIC配置:在Pinout & Configuration選項卡中,點擊NVIC進入中斷向量控制器配置界面。選…

科學計算中的深度學習模型精解:CNN、U-Net 和 Diffusion Models

關鍵要點 模型概述:卷積神經網絡(CNN)、U-Net 和 Diffusion Models 是深度學習中的核心模型,廣泛應用于科學計算任務,如偏微分方程(PDE)求解、圖像分割和數據生成。科學計算應用:CNN 可用于高效求解 PDEs,U-Net 擅長醫學圖像分割和材料分析,Diffusion Models 在生成合…

解決Docker無法拉取鏡像問題:Windows系統配置鏡像加速全指南

問題背景 在使用 Docker 時&#xff0c;你是否遇到過以下報錯&#xff1f; Unable to find image ‘mysql:latest’ locally docker: Error response from daemon: Get “https://registry-1.docker.io/v2/”: dial tcp 128.242.250.155:443: i/o timeout. 這類問題通常是由于…