Hallo,
ich wollte eine Progressbar in einen Prozess mit einbinden. Gefunden habe ich das hier. Nun hab ich mich gefragt ob
Und wenn ich sowas dann ich meinen Prozess mit einarbeiten will (siehe 4), beziehe ich mich dann erst auf die Worksheets und dann auf die Zeilen die übertragen werden? Oder sollte ich besser vorher alle Worksheets mit den Zeilen in ein Array packen und daraus den Bezug schaffen? Freue mich über Feedback.
(1) aus dem Bsp. Link
(2) aus dem Bsp. Link
(3) aus dem Bsp. Link
(4)
Spoiler anzeigen
ich wollte eine Progressbar in einen Prozess mit einbinden. Gefunden habe ich das hier. Nun hab ich mich gefragt ob
Sheet1.Cells.Clear
als angegebener Prozess sich auf das hier bezieht Cells(i, 1).Value = j
?Und wenn ich sowas dann ich meinen Prozess mit einarbeiten will (siehe 4), beziehe ich mich dann erst auf die Worksheets und dann auf die Zeilen die übertragen werden? Oder sollte ich besser vorher alle Worksheets mit den Zeilen in ein Array packen und daraus den Bezug schaffen? Freue mich über Feedback.
(1) aus dem Bsp. Link
(2) aus dem Bsp. Link
(3) aus dem Bsp. Link
(4)
VB.NET-Quellcode
- Option Explicit
- Dim wks As Worksheet, cntCol As Long, cntRow As Long, fzeile As Long, tbl As ListObject
- Dim wkz As Worksheet, arr As Variant, i As Integer, wsf As WorksheetFunction, cntarr As Variant, y As Integer
- Dim cntTbl As Long, lr As ListRow, x As Long
- Sub Import()
- Set wsf = Application.WorksheetFunction
- Set wkz = ThisWorkbook.Worksheets("Data")
- cntCol = wkz.Cells(1, Columns.Count).End(xlToLeft).Column
- cntRow = wkz.Cells(Rows.Count, 1).End(xlUp).Row
- Set tbl = wkz.ListObjects(1)
- cntTbl = tbl.ListRows.Count
- For x = cntTbl To 1 Step -1
- Set lr = tbl.ListRows(x)
- lr.Delete
- Next x
- For Each wks In Worksheets
- If wks.Name <> "Data" And wks.Name <> "Data2" Then
- cntCol = wks.Cells(1, Columns.Count).End(xlToLeft).Column
- cntRow = wks.Cells(Rows.Count, 1).End(xlUp).Row
- 'letzte Zeile in Spalte 3
- fzeile = wkz.Cells(wkz.Rows.Count, 3).End(xlUp).Row
- wks.Range(wks.Cells(2, 1), wks.Cells(cntRow + 1, cntCol - 2)).Copy Destination:=wkz.Cells(fzeile, 3)
- End If
- Next
- cntCol = wkz.Cells(1, Columns.Count).End(xlToLeft).Column
- cntRow = wkz.Cells(Rows.Count, 1).End(xlUp).Row
- wkz.Range(wkz.Cells(cntRow, 1), wkz.Cells(cntRow, cntCol)).Delete
- wkz.Cells(2, 1).FormulaLocal = "=Zeile(A1)"
- wkz.Cells(2, 2).FormulaLocal = "=Links([@[ns1:HMV]];2)"
- End Sub