Witam
Zaczynając od złożenia, chcę przechowywać atrybuty części i zespołów w tablicy, aby móc wykonywać na niej różne procesy kontroli jakości.
Znam maksymalną liczbę kolumn w mojej nomenklaturze (nb atrybutu ~12), ale nie znam liczby wierszy na początku. Mogę mieć zestawienia materiałów zawierające więcej niż 300 wierszy.
Wiedząc, że na początku musisz określić wymiary deski, jaka metoda byłaby dla Ciebie najlepsza (szybkość, stabilność itp.)?
Pomyślałem o zeskanowaniu całej nomenklatury, aby poznać liczbę wierszy, a następnie zdefiniować rozmiar tabeli (czy to możliwe?) ... Może są lepsze metody?
Dziękuję.
Klasa A+
Witam;
Jeśli dobrze rozumiem, chcesz zgromadzić wszystkie swoje BOM-y z zestawu w Excelu ... Zapisz pod szczegółowym BOM twojego głównego zespołu będzie musiał załatwić sprawę.
I dlaczego musisz znać liczbę linii... nie wydaje mi się to konieczne, jeśli masz kilka BOM-ów (nie rozumiem dlaczego), łatwo jest w Excelu "wkleić" ilość danych w "Następnym pustym wierszu":
Polecenia VBA (excel) służące do pobierania współrzędnych z następnego pustego wiersza to: (Na przykład):
'Retourne sur " derligne " le numéro de la prochaine ligne non vide (CTRL+ flèche bas)
derligne = Range("C1").End(xlDown).Row
derligne = Sheets("DATA").Range("E1048576").End(xlUp).Row
'Retourne sur " derligne " le numéro de DERNIERE ligne non vide
'Compte le nombre de lignes jusqu’à la dernière vide de la colonne
derligne = range("A" & rows.count).end(xlup).row
Pozdrowienia.
2 polubienia
Witam
Dziękuję za poświęcenie czasu na udzielenie mi odpowiedzi.
Nie, pracuję w zespole głównym z podzespołami i częściami, z pojedynczą nomenklaturą typu "lista z zakładkami" lub makrem, które krzyżuje się między zespołami.
Chcę więc przechowywać atrybuty w tabeli 2-wymiarowej, aby móc interweniować bezpośrednio w części w oprogramowaniu bez przechodzenia przez Excel.
Klasa A+
Witam
Tak więc poza programem Excel, w języku VBA, nie jest możliwa dynamiczna zmiana rozmiaru tabeli wielowymiarowej.
Musisz więc znać jego rozmiar od początku, skanując liczbę wierszy, a następnie stosując znalezioną wartość do zmiennej tablicowej.
W przeciwnym razie musisz pobawić się dwiema jednowymiarowymi zmiennymi tablicowymi i zsynchronizować ich wypełnianie .
1 polubienie
Witam;
Jeśli chcesz mieć liczbę kolumn i liczbę wierszy,
nNumCol = swTable.ColumnCount
nNumRow = swTable.RowCount
Dim swView As SldWorks.View
Dim swTable As SldWorks.TableAnnotation
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swView = swDraw.GetFirstView
Do While Not swView Is Nothing
' Show the name of the view
' Debug.Print " " & swView.Name
' Get the first table annotation for this view
Set swTable = swView.GetFirstTableAnnotation
Do While Not swTable Is Nothing
ProcessTable swApp, swModel, swTable
' Get next table annotation for this view
Set swTable = swTable.GetNext
Loop
' Get the next view
Set swView = swView.GetNextView
Loop
Set swAnn = swTable.GetAnnotation
nNumCol = swTable.ColumnCount
nNumRow = swTable.RowCount
Pozdrowienia.