標題:
EXCEL貼入網頁問題
[打印本頁]
作者:
die78325
時間:
2012-12-6 15:52
標題:
EXCEL貼入網頁問題
With .Document
.getElementsByName("q11")(0).Value = 字串 ' 找到q11欄位填入
end with
有試過可以定義變數來替代字串 但 我只試出可以選擇一格 例如: g =sheets("測試").range("A1") 該網頁會填入A1的值
但我希望可以利用工作頁的範圍儲存格複製貼入 我需要 A1:H10的範圍複製貼入網頁內
爬文大家都只抓網頁資料下來EXCEL 但卻沒有貼入網頁的詢問 = = 請教各位大大幫我解決這問題 ~!! 感激不盡....
就差這步了...........拜託各位大大們!!!
作者:
GBKEE
時間:
2012-12-6 16:16
回復
1#
die78325
試試看
Option Explicit
Sub Ex()
Dim R, 字串 As String, S As String
For Each R In [A1:H10].Rows
S = Join(Application.Transpose(Application.Transpose(R)), " ")
字串 = IIf(字串 = "", S, 字串 & Chr(10) & S)
Next
'
'
' With .Document
' .getElementsByName("q11")(0).Value = 字串 ' 找到q11欄位填入
'End With
End Sub
複製代碼
作者:
die78325
時間:
2012-12-6 16:46
回復
2#
GBKEE
感謝大大 現在可以貼進去了
但是遇到個問題 == 我A欄是2012/12/5 14:19 時間格式 但用你得程式跑下去 就變41248.4423263889
再麻煩大大了.....
作者:
die78325
時間:
2012-12-6 17:21
回復
2#
GBKEE
那如果 A1:H? H的欄位不一定 [A1:H10] 這種的可以用 end.xlup 嗎?
也請大大幫我一併處理 感謝您 ....
作者:
GBKEE
時間:
2012-12-7 13:15
回復
4#
die78325
試試看
Option Explicit
Sub Ex()
Dim Ar(), 字串 As String, xi As Integer, xii As Integer, S As String, Rng As Range
'With Range("A1").CurrentRegion
'CurrentRegion 屬性 傳回 Range 物件,該物件代表目前的區域。目前區域是指以任意空白列及空白欄的組合為邊界的範圍。唯讀
'MsgBox .Address
Set Rng = Sheet1.[a1]
With Sheet1.Range(Rng.Address, Cells(Rng.End(xlDown).Row, Rng.End(xlToRight).Column).Address)
MsgBox .Address(, , , 1, 1)
Ar = .Value
For xi = 1 To .Rows.Count
For xii = 1 To .Columns.Count
Ar(xi, xii) = IIf(.Cells(xi, xii) <> "", .Cells(xi, xii).Text, vbTab)
Next
Next
For xi = 1 To UBound(Ar)
S = Join(Application.Transpose(Application.Transpose(Application.Index(Ar, xi))), vbTab)
字串 = IIf(字串 = "", S & vbLf, 字串 & vbLf & S)
Next
MsgBox 字串
End With
' '
'
' With .Document
' .getElementsByName("q11")(0).Value = 字串 ' 找到q11欄位填入
'End With
End Sub
複製代碼
作者:
die78325
時間:
2012-12-7 13:36
回復
5#
GBKEE
大大好強@@"
但是這邊的語法好特殊 有空幫我註解一下嗎......想多學習這種連續串起來的語法!@@
謝謝大大~~
作者:
GBKEE
時間:
2012-12-7 13:51
回復
6#
die78325
這些並不難,不了解的可多看VBA的說明
作者:
die78325
時間:
2012-12-10 13:20
回復
7#
GBKEE
大大 現在發現一個問題 = =
當資料過多 他沒辦法複製到以下的資料 就原本應該要複製50列 因為String字數太多 只複製到37筆......
如果刪掉後面多餘的字 才能提升到40多筆 所以確定判斷為資料過多 那有辦法解決嗎? 就是有多少就要複製多少.....
因為不解決這問題的話 沒辦法繼續作業下去 因為到月底可能會有100多筆 = ="
或者可以判斷J欄有0 就代表上傳過了.....然後只抓取沒上傳過的 有辦法嗎?? 因為資料是一值往下增加 但是新增速度部會超過30筆
更何況我是一值持續在上傳 不可能在短時間內超過30筆 請大大幫我想辦法吧.....
盡可能幫我做第一種 (有多少複製多少) 因為怕漏掉......
作者:
GBKEE
時間:
2012-12-10 15:31
回復
8#
die78325
DataObject 物件
在進行轉換動作時,做為格式化文字資料的暫存區域。其也可以暫存和儲存在 DataObject 的文字片段相關的格式。
Option Explicit
Sub Ex() '使用DataObject 物件
Dim Rng As Range
'Dim Clip As New DataObject
' New DataObject: VBA需設定引用 Microsoft Forms 2.0 Object Library
Dim Clip As Object '不需設定引用 Microsoft Forms 2.0 Object Library
Set Clip = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
Set Rng = Sheet1.[a1]
Sheet1.Range(Rng.Address, Cells(Rng.End(xlDown).Row, Rng.End(xlToRight).Column).Address).Copy
Clip.GetFromClipboard
'
'
With .Document
.getElementsByName("q11")(0).Value = Clip.GetText(1) ' 找到q11欄位填入
End With
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)