我在前面Application作業,所以不能直接訪問個人。主要關注的領域是我想要相當于 a的地方,所有填充在. 我有 4和一個實作選擇所需的功能,與相應的相關聯,并在那些上填充適當的(見下圖)。
ALL for and are as in the and in !RunsExcel WorkbookUserWorksheetsReports WorksheetsDisplayPrint PreviewWorksheetdataWorksheetComboBoxes configured as DDLsSubmit ButtonWorksheetNamed RangesWorksheetscellsWorksheets
VariablesWorksheetsRangesDeclaredGlobal VariablesWB_Initialization ModuleSetUserForm_Initialize()
Choose Report Type ComboBox Change Event設定和其余ActiveWorksheet3 個ComboBoxes控制values用于Worksheet實作正確選擇和顯示資料,并Submit填充Cells并Worksheet呼叫Function DisplayRange rngToDisplay!我在實施之前確認了ALL 的正確操作!為如下:WorksheetsDisplayRange rngToDisplayCodeChoose Report Type
Private Sub cmbPropWksts_Change() 'Located on MultiPage1.Page4
Select Case cmbPropWksts.ListIndex
Case 0
wkstSum.Select
rngRptSum.Select
Set rngToDisplay = rngRptSum
Case 1
wkstDetail.Select
rngRptDetail.Select
Set rngToDisplay = rngRptDetail
Case 2
wkstCmpYrsElec.Select
rngRptCmpYrsElect.Select
Set rngToDisplay = rngRptCmpYrsElect
Case 3
wkstCmpYrsGas.Select
rngRptCmpYrsGas.Select
Set rngToDisplay = rngRptCmpYrsGas
End Select
cmdSubmit.Caption = "Display " & cmbPropWksts.Value
Call MeasureSelection_Pixels
If cmbPropWksts.ListIndex > 1 Then
cmbwkstYrs2.Visible = True
End If
End Sub
在Submit Button Code這里:
pID = cmbRptPrpID.Text
pIndex = cmbRptPrpID.ListIndex 2
wsYr1 = cmbWkstYrs1.Text
wsYr2 = cmbwkstYrs2.Text
Select Case cmbPropWksts.ListIndex
Case 0
ActiveSheet.Cells(3, "B") = cmbRptPrpID.Text 'Cell B3 of the Summary Worksheet
ActiveSheet.Cells(3, "Q") = cmbWkstYrs1.Text 'Cell Q3 of the Summary Worksheet
ActiveSheet.Cells(1, "A") = wsCntrl.Cells(pIndex, "N") 'Cell for the Property's address
Case 1
ActiveSheet.Cells(3, "B") = cmbRptPrpID.Text 'Cell B3 of the Summary Worksheet
ActiveSheet.Cells(3, "Q") = cmbWkstYrs1.Text 'Cell Q3 of the Summary Worksheet
ActiveSheet.Cells(1, "A") = wsCntrl.Cells(pIndex, "N") 'Cell for the Property's address
Case 2, 3
ActiveSheet.Cells(2, "B") = cmbRptPrpID.Text 'Cell B3 of the Summary Worksheet
ActiveSheet.Cells(2, "C") = cmbWkstYrs1.Text 'Cell Q3 of the Summary Worksheet
ActiveSheet.Cells(17, "C") = cmbwkstYrs2.Text 'Cell Q17 of the Summary Worksheet
ActiveSheet.Cells(1, "A") = wsCntrl.Cells(pIndex, "N") 'Cell for the Property's address
End Select
DisplayRange rngToDisplay
End Sub
最后,DisplayRange代碼在這里:
Function DisplayRange(r As Range)
Dim wsChart As Worksheet
Dim fname As String
Set wsChart = ThisWorkbook.Worksheets("tmpChart")
fname = ThisWorkbook.Path & "\TempImages\temp.jpg"
r.CopyPicture xlScreen, xlBitmap
With wsChart
Dim chtObj As ChartObject
Set chtObj = .ChartObjects.Add(100, 30, 400, 250)
With chtObj
.Width = r.Width: .Height = r.Height
.Chart.Paste
.Chart.Export Filename:=fname, FilterName:="jpg"
.Delete
End With
DoEvents
End With
imgRpts1.Picture = LoadPicture(fname)
End Function
上述正確生成正確Call的此處確認:
并在此處創建影像:此處
正確:
發生在這里!
FunctionChartWorksheet
temp.jpg
Folder
Error 424
我的研究表明,最常見的原因Error是由于Undeclared/Improperly Declared Varables!我已經檢查了Varable Scopes,Image Box Name和 the ,File Paths所以顯然我遺漏了一些東西。
在此先感謝您的幫助!
uj5u.com熱心網友回復:
由于@Ambie 的一個問題,我重新訪問了Module Codefor Function DisplayRange。我記得在嘗試Code從a 移動UserForm到 aModule并不斷獲得 a時遇到的類似問題Variable Not Defined Error。我今天學到了兩個寶貴的教訓。首先,確保Option Explicit在 EVERY中使用Module。其次,我學會了如何設定Inter-Module和Module to UserForm溝通。
我通過添加以下兩行解決了這個問題Code:
Dim imgRpts1 As Object
Set imgRpts1 = UserForm1.imgRpts1
這是決賽Function Code:
Option Explicit
Function DisplayRange(r As Range)
Dim wsChart As Worksheet
Dim fname As String
Dim imgRpts1 As Object
Set imgRpts1 = UserForm1.imgRpts1
Set wsChart = ThisWorkbook.Worksheets("tmpChart")
fname = ThisWorkbook.Path & "\TempImages\temp.jpg"
r.CopyPicture xlScreen, xlBitmap
With wsChart
Dim chtObj As ChartObject
Set chtObj = .ChartObjects.Add(100, 30, 400, 250)
With chtObj
.Width = r.Width: .Height = r.Height
.Chart.Paste
.Chart.Export Filename:=fname, FilterName:="jpg"
.Delete
End With
DoEvents
End With
imgRpts1.Picture = LoadPicture(fname)
End Function
它有效! [![它的作業原理!][1]][1] [1]:https://i.stack.imgur.com/3DfCD.jpg
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/480518.html
上一篇:如何在Swing中調整影像大小?
