vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest środa, 08 września 2010 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

inkrementacja w nazwie/symbolu np CommandButton1,2,3...


otwartyotwarty rozpoczął: gdl postów: 5



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


Sortuj posty: z