簡體   English   中英

創建適用於 Excel 的動態范圍以將名稱范圍保存到靜態網頁

[英]Creating a Dynamic Range that works for Excel to Save Name Ranges to a Static Web Page

我有一個 excel 文檔,其中有幾個當前保存到靜態網頁的名稱范圍。 我最近嘗試將它們轉換為動態范圍,並且了解到動態命名范圍在 excel 工作表本身的上下文中工作得很好,但是一旦 excel 嘗試將它們保存為靜態網頁就會失敗。

例如,我有一個范圍

YardTabletLists!$EC$1:$EE$101

有時內容超出范圍,或者我的網頁上有空行。

動態選擇是

=OFFSET(YardTabletLists!$EC$1,0,0,COUNTA(YardTabletLists!$EC$1:$EC$10000)+1,3)

如果我在工作表中的任何位置引用此名稱范圍,它會起作用,但是當 AutoPublish 執行此操作時,我會收到以下錯誤。

錯誤通知

我正在考慮嘗試以某種方式將動態范圍轉換回靜態范圍,然后將名稱 rage 指向該單元......即

名稱范圍指向 =E4,而 E4 包含 YardTabletLists!$EC$1:$EE$101,但我覺得這會給我同樣的問題。

感謝閱讀本文的人。

不熟悉靜態網頁功能。

但是可以定義和使用“表”而不是“命名范圍”嗎?

每當修改表格大小時,Excel 都會在內部處理正確的范圍。

似乎靜態網頁功能也支持“過濾范圍”。 這可能是一種解決方法,例如過濾掉空白行(同時使用最大行號作為靜態范圍)?

間接引用(您的 E4 示例)在 Excel 中有點棘手。 我只用它一次來定義下拉列表。 必須由該功能支持並需要“特殊”語法

更新:

我找到了一些 VBA 更新名稱范圍的示例,以及一個似乎可以回答問題的優秀示例:

https://excelchamps.com/vba/named-range/#Resizing_a_Named_Range_using_VBA_Dynamic_Named_Range

Sub vba_named_range()

Dim iRow As Long
Dim iColumn As Long

iRow = ActiveSheet.Range("A1").End(xlDown).Row
iColumn = ActiveSheet.Range("A1").End(xlToRight).Column

ActiveSheet.Range("myRange") _
.Resize(iRow, iColumn).Name = "myRange"

End Sub

由於某種原因,程序掛斷了

ActiveSheet.Range("myRange") _ .Resize(iRow, iColumn).Name = "myRange"

有人看到我缺少的語法錯誤嗎?

謝謝 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM