Ben VSTO için VBA geçiş çalışıyorum, aralık ama ben bir dizi yeniden boyutlandırmak çalışıyorum ne zaman aşina değilim bazı hatalar karşılaşıyorum.VSTO: Excel yeniden boyutlandırma vb.net
Ben satırların x sayıda hücre aralığı bölmek edememek sona gereken aşağıdaki kodu var.
Ben bir eklenti olarak VSTO projeyi oluşturduk. Excel Visual Studo'da düğmeye basarak kodu çalıştırdığımda bana bir "COMExeption kullanıcı kodu tarafından işlenmedi" verir ve son satırı, satırları yeniden boyutlandırmaya ve çıktılamaya çalıştığım yere verir.
Neyi yanlış yapıyorum? Sen sahip olacak
Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click
Dim sheet As Excel.Worksheet = Globals.ThisAddIn.Application.ActiveSheet
Dim inputrange As Excel.Range
'Dim cell As Excel.Range
Dim numberOfOutputRows As Long
Dim numberOfOutPutColumns As Long
Dim outputRange As Excel.Range
Dim inputArray(0, 0) As Long
Dim i As Long
Dim iRow As Long
Dim iCol As Long
Dim numberOfCells As Long
Dim arrayInputValue As Excel.Range
Dim val As Object
inputrange = CType(sheet.Application.InputBox("select range",,,,,,, Type:=8), Excel.Range)
'Dim myRange As Excel.Range
numberOfOutputRows = InputBox("You have " & inputrange.Count & " cells. Enter the number of rows you want to split up in")
numberOfOutPutColumns = inputrange.Cells.Count/numberOfOutputRows
outputRange = CType(sheet.Application.InputBox("Output to single cell",,,,,,, Type:=8), Excel.Range)
inputrange = inputrange.Columns(1)
ReDim inputArray(0 To numberOfOutputRows, 0 To numberOfOutPutColumns + 1)
numberOfCells = inputrange.Cells.Count - 1
For i = 0 To numberOfCells
arrayInputValue = CType(inputrange.Cells(i + 1), Excel.Range)
val = arrayInputValue.value()
iRow = i Mod numberOfOutputRows
iCol = Int(i/numberOfOutputRows)
inputArray(iRow + 1, iCol + 1) = val ' arrayInputValue
Next i
outputRange.Resize(RowSize:=UBound(inputArray, 1), ColumnSize:=UBound(inputArray, 2)).Value = inputArray
Teşekkür ederiz. Girdiye doldurulan bazı değerleri kaybettiğimden başka bazı sorunlarım var gibi görünüyor - Bu konuda yardımcı olabilir misiniz? – Jmorte13
VBA'da çalıştığı şekilde çalışmalıdır. VBA'da denediniz mi (biraz değişiklikle)? Kodunuzu Visual Studio'da ayıklayabileceğinizi ve dizinizde tam olarak ne yazılacağını görebileceğinizi biliyorsunuz, değil mi? Bunu bilemiyorum bana bildirin, hones olmasını deneyin vermedi ve seni VBA denedim – PetLahev
yardımcı olmayı deneyelim ve mükemmel çalışır. Bazı hafif değişikliklerim var. Ben debugen Visual studio ile aşina değilim, bu nasıl yapılır? VBA kodunu buraya yapıştırırım ama yeterli karakterim yok. – Jmorte13