vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest sobota, 11 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Duplikowanie arkusza przy jednoczesnyn zmianie nazwy na kolejny numer


otwartyotwarty rozpoczął: FUTek postów: 12



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

  
nazwa pliku rozmiar
Duplikuj.rar 14.55 kB

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


Sortuj posty: z