Eroare macro - Sheets("Sheet1").Select

Închis
lucian2606
Mesaje: 18
Membru din: Lun Oct 05, 2009 4:43 pm

Re: Eroare macro - Sheets("Sheet1").Select

Mesaj de lucian2606 » Mar Oct 06, 2009 1:23 pm

Am investit niste timp si oarece asteptare in acest topic. In momentul in care cineva il sterge nu pot decat sa renunt. multumesc,

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Eroare macro - Sheets("Sheet1").Select

Mesaj de Dr.Windows » Mar Oct 06, 2009 1:34 pm

lucian2606 scrie:Am investit niste timp si oarece asteptare in acest topic. In momentul in care cineva il sterge nu pot decat sa renunt. multumesc,
E... mi s-a mai intamplat si mie... asa ca il inteleg pe Gecs... ;) si incerc sa reproduc problema (aproximativ):
lucian2606 scrie:
Problema in urmatorul macro era ca se opreste la linia Sheets("Sheet1").Select

Cod: Selectaţi tot

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 10/6/2009 by lucian.teodorescu

    Range("A6").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Centralizator Lucru").Select
    Sheets.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
    With Selection.Font
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
    End With
    Columns("B:B").EntireColumn.AutoFit
    Columns("C:C").EntireColumn.AutoFit
    Columns("F:F").EntireColumn.AutoFit
    Columns("G:G").EntireColumn.AutoFit
    Columns("H:H").EntireColumn.AutoFit
    Columns("K:K").EntireColumn.AutoFit
    Columns("M:M").EntireColumn.AutoFit
    Range("B2").Select
    Selection.Copy
   Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "ALBA IULIA"
    Sheets("Centralizator Lucru").Select
    Range("F750").Select
End Sub
Iar raspunsul meu a fost ca problema apare deoarece NU EXISTA "Sheet1" si atunci ai 2 variante:

1. Inca de la adaugarea foi foloseste urmatoarea optiune care adauga din start numele foii, nume pe care il poti folosi mai tarziu in cod:

Cod: Selectaţi tot

Sheets.Add().Name = "ALBA IULIA"
2. In loc de Sheets("Sheet1").Select foloseste

Cod: Selectaţi tot

    Sheets(Worksheets.Count).Select
    Sheets(Worksheets.Count).Name = "ALBA IULIA2"
Cu asta sper sa te fi ajutat in rezolvarea problemei si chiar daca nu iti trece supararea pe Gecs sa revii totusi pe forum si pentru alte [eventuale] probleme... ;)

Avatar utilizator
gecs
Moderator
Moderator
Mesaje: 2311
Membru din: Sâm Aug 15, 2009 10:05 am
Localitate: Bucuresti

Re: Eroare macro - Sheets("Sheet1").Select

Mesaj de gecs » Mar Oct 06, 2009 1:37 pm

Multumesc lucian

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Eroare macro - Sheets("Sheet1").Select

Mesaj de Dr.Windows » Mar Oct 06, 2009 1:45 pm

gecs scrie:Multumesc lucian
Cu placere... si sper sa-i treaca supararea tizului meu... ;)

lucian2606
Mesaje: 18
Membru din: Lun Oct 05, 2009 4:43 pm

Re: macro

Mesaj de lucian2606 » Mar Oct 06, 2009 1:50 pm

Eu nu stiu VBa dar:
1. la linia "Sheets.Add" am inserat un sheet care a primit by default numele "sheet1". Intrebare: de ce nu exista?
2. vreau sa folosesc acest macro ptr un nr mare (~150) de selectii care rezulta in sheeturi. Tocmai acesta era spilul: sa nu mai redenumesc de 150 de ori asa ca prin secventa:
Range("B2").Select
Selection.Copy
Sheets("Sheet1").Select
incercam ca sheetul creat sa fie redenumit cu continutul celulei "B2" deci operatia de creere si redenumire sa se faca automat. Partea de formatare este conexa
multumesc,

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: macro

Mesaj de Dr.Windows » Mar Oct 06, 2009 2:20 pm

lucian2606 scrie:Eu nu stiu VBa dar:
1. la linia "Sheets.Add" am inserat un sheet care a primit by default numele "sheet1". Intrebare: de ce nu exista?
2. vreau sa folosesc acest macro ptr un nr mare (~150) de selectii care rezulta in sheeturi. Tocmai acesta era spilul: sa nu mai redenumesc de 150 de ori asa ca prin secventa:
Range("B2").Select
Selection.Copy
Sheets("Sheet1").Select
incercam ca sheetul creat sa fie redenumit cu continutul celulei "B2" deci operatia de creere si redenumire sa se faca automat. Partea de formatare este conexa
multumesc,
Pai atunci iti trebuie o "variabila" unde sa pui numele foii din zona corespunzatoare:

Cod: Selectaţi tot

lcSheetName = Range("B2").Value
si pe care il vei atribui mai devreme sau mai tarziu (depinde de ordinea evenimentelor tale)

ori direct de la adaugarea foii

Cod: Selectaţi tot

Sheets.Add().Name = lcSheetName
ori mai tarziu

Cod: Selectaţi tot

Sheets(Worksheets.Count).Select
    Sheets(Worksheets.Count).Name = lcSheetName
Dar mare atentie sa te "asiguri" ca esti in foaia potrivita atunci cand faci citirea numelui de foaie sau modificarea numelui, pentru ca testand codul tau mi s-a intamplat de multe ori sa se redenumeasca foaia "Centralizator Lucru" in loc de foaia "proaspat adaugata"

lucian2606
Mesaje: 18
Membru din: Lun Oct 05, 2009 4:43 pm

Re: Eroare macro - Sheets("Sheet1").Select

Mesaj de lucian2606 » Mar Oct 06, 2009 2:52 pm

Din nenorocire nivelul meu (asumat) de competenta este cam pe la "Record macro" si nu la debug VBA dar...
O sa incerc si daca reusesc va tin la curent.
multumesc inca odata.

lucian2606
Mesaje: 18
Membru din: Lun Oct 05, 2009 4:43 pm

Re: Eroare macro - Sheets("Sheet1").Select

Mesaj de lucian2606 » Mar Oct 06, 2009 3:01 pm

Abia acum am citit prima pagina. Ma calific si eu ptr un MS?

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Eroare macro - Sheets("Sheet1").Select

Mesaj de Dr.Windows » Mar Oct 06, 2009 3:41 pm

lucian2606 scrie:Abia acum am citit prima pagina. Ma calific si eu ptr un MS?
Daca MS=Memory Stick atunci trebuie sa pui intrebarea in forumul corect... adica: Concurs cu 100 de premii

lucian2606
Mesaje: 18
Membru din: Lun Oct 05, 2009 4:43 pm

Re: Eroare macro - Sheets("Sheet1").Select

Mesaj de lucian2606 » Mar Oct 06, 2009 4:04 pm

scuze

Închis

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”