[Visual Basic] Tabblad krijgt naam van cel

Pagina: 1
Acties:
  • 189 views sinds 30-01-2008
  • Reageer

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Hoi,
We zijn hier bezig met een macro en daarin gebeurt het volgende:
Van het invoertabblad wordt steeds een nieuw tabblad aangemaakt, waarbij de tabbladnaam een variabele uit een cel moet zijn.

Hoe programmeer ik dit in Visual Basic

BVD

Fabian

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 08:26

mulder

ik spuug op het trottoir

De tomaat 15 seconden in heet water dompelen, het velletje verwijderen en het vruchtvlees in stukjes snijden. De lente-ui met de tomaat, de in stukken gesneden vis en de wijn in de ovenvaste schaal (afgedekt) in 4-5 minuten op vol vermogen verwarmen.

Het vismengsel met de gerookte zalm, op voor iedere persoon een reepje na voor de garnering, in de foodprocessor pureren. De boter in de glazen litermaat (onafgedekt) 1 minuut op vol vermogen smelten.

Eerst de bloem erdoor roeren en vervolgens de bouillon en de vispuree. De soep (afgedekt) op circa 7-8 minuten op vol vermogen aan de kook brengen.

De zure room met wat warme soep glad roeren en het mengsel aan de vissoep toevoegen. De soep op smaak brengen met zout en peper, in borden schenken en met dille en een reepje gerookte zalm garneren.

Effe serieus, wat heb je al aan code?

oogjes open, snaveltjes dicht


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Oke, hierbij de code (is door mijn pa met de macro-optie uit excel gemaakt, dus zal ongetwijfeld een zootje zijn en ik heb zelf niet echt verstand van visual basic)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Sub tabnaam()
'
' tabnaam Macro
' De macro is opgenomen op 19-1-2002 door.
'

'
    Sheets("opdracht").Select
    Sheets("opdracht").Copy After:=Workbooks("bron.xls").Sheets(4)
    ActiveWindow.LargeScroll Down:=1
    ActiveWindow.SmallScroll Down:=-7
    Rows("38:58").Select
    Selection.ClearContents
    Selection.Delete Shift:=xlUp
    ActiveWindow.LargeScroll Down:=-1
    Range("A1:M37").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
      False, Transpose:=False
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
      False, Transpose:=False
    Range("C7:L28").Select
    Selection.Interior.ColorIndex = xlNone
    Range("H12").Select
    ActiveCell.FormulaR1C1 = "9000"
    Sheets("opdracht").Select
    Sheets("opdracht").Name = "9000"
    Range("G6").Select
    Sheets("9000").Select
    Sheets("9000").Move After:=Workbooks("Opdracht_AP_A.xls").Sheets(5)
    ActiveSheet.Shapes("Button 4").Select
    Selection.ShapeRange.IncrementLeft -20.25
    Selection.ShapeRange.IncrementTop -30#
    Selection.Delete
    ActiveSheet.Shapes("Button 5").Select
    Range("H8").Select
    ActiveSheet.Shapes("Button 5").Select
    Selection.ShapeRange.IncrementLeft -20.25
    Selection.ShapeRange.IncrementTop -30#
    Selection.Delete
    Range("G7").Select
    ActiveWorkbook.Save
    Rem ChDir "E:\Temp\Test2"
    ActiveWorkbook.SaveAs Filename:="E:\Temp\Test2\Opdracht_AP_A.xls", _
      FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
      ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Save
End Sub

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Op zaterdag 19 januari 2002 13:31 schreef El_Mundo een receptje
:D >:)

Vertel idd wat je zelf al aan code hebt, en welk stuk je nou precies problemen mee hebt.

Tip: een hoop dingen kun je leren door een macro op te nemen waarin je doet wat je wilt (of ongeveer, ik geloof niet dat met standaart excel functies het nieuwe tabblad de naamkan krijgen die in een cell staat).

Exact expert nodig?


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Okey, ik heb mezelf maar ff heel erg verdiept in de code :+ en heb het idee dat er in dit stukje wat veranderd moet worden:
code:
1
2
3
4
5
    Range("H12").Select
    Sheets("opdracht").Select
    Sheets("opdracht").Name = "9000"
    Sheets("9000").Select
    Sheets("9000").Move After:=Workbooks("Opdracht_AP_A.xls").Sheets(5)

Wat er in verandert moet worden is denk ik zoiets als dit:
code:
1
2
3
4
5
    varnaamsheet = Range("H12").Select
    Sheets("opdracht").Select
    Sheets("opdracht").Name = varnaamsheet
    Sheets("varnaamsheet").Select
    Sheets("varnaamsheet").Move After:=Workbooks("Opdracht_AP_A.xls").Sheets(5)

alleen als ik dit probeer geeft visual basic een foutmelding, dus dat werkt niet helemaal goed, maar, wat werkt er dan wel :?

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Dit werkt:
code:
1
2
3
4
5
6
7
8
9
10
11
    Dim sSheetName As String, sNewName As String
    sNewName = Sheets("Sheet1").Cells(1, 1)
    ' voeg nieuwe sheet toe
    ' en lees meteen de naam die die automatisch krijgt
    sSheetName = Sheets.Add().Name
    ' nieuwe sheet selecteren en verplaatsen naar het eind
    Sheets(sSheetName).Select
    Sheets(sSheetName).Move After:=Sheets(Sheets.Count)
    ' nogmaals selecteren, en de sheet nu van naam veranderen
    Sheets(sSheetName).Select
    Sheets(sSheetName).Name = sNewName

Waarbij ik er vanuit ga dat op de sheet "Sheet1" in cell A1 (Cells 1,1 dus) de nieuwe naam staat.

Exact expert nodig?

Pagina: 1