napisał: FUTek postów: 18
umieszczony: 21 kwietnia 2012 10:18
|
|
Bardzo dziękuje i obiecuje ze odrobię lekcje :)
Przyznam ze VBA wciąga mnie coraz bardziej, niestety ciągle wiem niewiele.
Na szczęście są osoby takie jak ty, które pomagają nam początkującym przejść przez wysokie schody, dzięki czemu nie tracimy zapału. |
|
napisał: Trebor postów: 1209
umieszczony: 21 kwietnia 2012 09:11
|
|
Jeśli nie używasz polskich liter to wystarczy tak:
Private Sub UserForm_Initialize()
Dim arkusz As Worksheet
ListBox1.MultiSelect = fmMultiSelectMulti
ListBox1.Clear
On Error Resume Next
For Each arkusz In Worksheets
If UCase(arkusz.Name) Like "[A-Z]###" Then
If IsError(Worksheets(Mid(arkusz.Name, 1, 1) & Val(Mid(arkusz.Name, 2)) + 1).Index) Then ListBox1.AddItem arkusz.Name
End If
Next arkusz
On Error GoTo 0
End Sub
Na głównej stronie VBAMani jest porada dotycząca wyrażeń regularnych |
|
napisał: FUTek postów: 18
umieszczony: 21 kwietnia 2012 08:21
|
|
Przepraszam, lecz moja ciekawość jest większa od mojej wdzięczności, która mówi mi żeby się nie naprzykrzać.
Czy jest możliwość wyeliminowania wszystkich arkuszy, które niespełniana warunku B111, czyli jedna litera i trzy cyfry, tak ażeby niebyły wyświetlane w ListBox1. |
|
napisał: admin postów: 613
umieszczony: 21 kwietnia 2012 08:09
|
|
Brawo, Trebor! |
|
napisał: FUTek postów: 18
umieszczony: 20 kwietnia 2012 21:08
|
|
Trebortwoja cudowna propozycja przerosła moją fantazję. Jestem pełen uznanie.
Dziękuje. |
|
napisał: Trebor postów: 1209
umieszczony: 20 kwietnia 2012 20:13
|
|
W załączniku moja propozycja. |
|
napisał: FUTek postów: 18
umieszczony: 20 kwietnia 2012 19:22
|
|
Cytat: W jaki sposób chcesz podawać do makra
dokładnie tak jak wcześniej poprzez zaznaczenie określonego arkusz, z ta różnica ze użytkownik zaznacz dwa arkusze naraz a nie jeden.
Nazwa arkuszy będą nazwy zaznaczonych arkuszy, typ A125 oraz C125
po duplikacji A126 oraz C126 |
|
napisał: admin postów: 613
umieszczony: 20 kwietnia 2012 18:52
|
|
Cytat: W jaki sposób chcesz podawać do makra nazwę arkuszy?
Czy ma je wskazywać użytkownik, czy też będą na stałe wpisane w makrze?
O to też chciałem się zapytać... |
|
napisał: Trebor postów: 1209
umieszczony: 20 kwietnia 2012 17:23
|
|
W jaki sposób chcesz podawać do makra nazwę arkuszy?
Czy ma je wskazywać użytkownik, czy też będą na stałe wpisane w makrze? |
|
napisał: FUTek postów: 18
umieszczony: 20 kwietnia 2012 13:47
|
|
Działa znakomicie. Dzięki.
Czy możliwa jest zmiana kodu która umożliwiłaby wrzenie duplikatów dwóch wybranych arkuszy o rożnych zawartościach jednocześnie np.
....................Arkusz A122 i C145.
Oczekiwany rezultat A123 i C146 |
|
napisał: admin postów: 613
umieszczony: 20 kwietnia 2012 09:37
|
|
Witamy na forum!
Oto przykladowe rozwiazanie:
Sub KopiujArkusze()
Dim strNazwa1 As String
Dim strNazwa2 As String
'kopiowany arkusz
strNazwa1 = ActiveSheet.Name
'nowa nazwa
strNazwa2 = Mid(strNazwa1, 1, 1) & Val(Mid(strNazwa1, 2)) + 1
'kopiowanie
Sheets(strNazwa1).Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
Sheets(ActiveWorkbook.Sheets.Count).Name = strNazwa2
End Sub |
|
napisał: FUTek postów: 18
umieszczony: 19 kwietnia 2012 22:05
|
|
Witam serdzcznie wszystkich forumowiczow.
Mam mały problem, w którym mam nadzieje pomożecie mi.
Potrzebowałbym kod, który duplikowałby aktywny arkusz, którego nazwa składa się zawsze z jednej litery i trzech cyfr np. A125, C145. Problem leży w tym ze moim zamiarem/życzeniem jest ażeby duplikat otrzymywał nazwę, która zachowuje literę, lecz nadaje kolejny numer.
Przykład, duplikatem A125 będzie A126. |
|
wstecz 1 dalej wszystkich stron: 1
|