napisał: gdl postów: 3
umieszczony: 5 marca 2010 17:44
|
|
Jeszcze raz wielkie DZIĘKUJĘ !
Kilka odpowiedzi i już poszerzyłem swoje horyzonty w temacie VBA  |
|
|
Reklama

|
|
napisał: Trebor postów: 616
umieszczony: 5 marca 2010 15:51
|
|
Wypróbuj coś takiego:
Sub przyciski()
Dim i As Integer, j As Integer
With Sheets("Arkusz1")
For i = 1 To .OLEObjects.Count
If TypeName(.OLEObjects(i).Object) = "CommandButton" Then
j = j + 1
.OLEObjects(i).Object.Caption = .Cells(j, 1)
End If
Next i
End With
End Sub
Pozdrawiam |
|
|
napisał: gdl postów: 3
umieszczony: 5 marca 2010 11:15
|
|
BARDZO dziękuję! Działa! (rzeczywiście trudno zabierać się za coraz ambitniejsze rozwiązania jeśli nie zna się wielu rzeczy)
Przy okazji może jeszcze proszę o podpowiedź jak w tej pętli sprawdzać czy dany przycisk w ogóle istnieje (tzn żeby pętla była bardziej uniwersalna: i nie była konieczna dokładna znajomość faktycznej liczby przycisków - to zdaje się może być bardzo wygodne na etapie testowania i rozwijania kodu, potem dorzucam resztę przycisków i pętla ustawiona "z zapasem" będzie działać).
Gdzieś wygrzebałem, że jest coś takiego jako IsObjects ale jakoś mi nie wychodzi. |
|
|
Reklama

|
|
napisał: Trebor postów: 616
umieszczony: 3 marca 2010 20:22
|
|
Może coś w stylu:
Dim i As Byte
For i = 1 To 4
Sheets("Arkusz1").OLEObjects("CommandButton" & i).Object.Caption = Sheets("Arkusz1").Cells(i, 1)
Next i
Hej |
|
|
napisał: gdl postów: 3
umieszczony: 3 marca 2010 09:57
|
|
Witam użytkowników forum, VBA etc...
Od paru dni próbuję połapać się w VBA i dotarłem do następującej kwestii (z góry przepraszam za ewentualne herezje w nazewnictwie lub terminologii).
Chodzi mi o sytuację następującą.
Na arkuszu Excela mam ileś tam komórek z nazwiskami np osób. Przy każdym nazwisku są też przyciski (CommandButton1,CommandButton2...).
W trakcie otwarcia arkusza makro wykonuję banalną operację wpisania nazwisk na przyciski (Caption). Czynione to jest osobno dla każdego przycisku:
arkusz.CommandButton1.Caption=...,
arkusz.CommandButton2.Caption=...,
arkusz.CommandButton3.Caption=..., itd
I tu moje pytanie: czy tego rodzaju przypisywanie etykiety (Caption) do przycisku nie dałoby się zorganizować w pętli, która inkrementowałaby "nazwę" CommandButton1,2,3,4... ?
Doświadczenie z innych języków podpowiada mi, że może istnieje jakaś funkcja/sposób ewaluacji np łańcucha na "symbol" (np "CommandButton"+cstr(1) ) ?
Przepraszam jeśli to gdzieś może już było na forum, ponieważ jak na wstępie zaznaczyłem nie mając dobrej znajomości terminologii trudno mi jest przeszukiwać wątki |
|
|
Reklama

|
|
 wstecz 1 dalej  wszystkich stron: 1
|