Print side | Luk vindue

syntax

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=190
Udskrevet den: 19.Apr.2025 kl. 11:28


Emne: syntax
Besked fra: AnnetteTR
Emne: syntax
Posteringsdato: 14.Jan.2011 kl. 08:45

Hej

Jeg er ved at lave en større makro, hvor jeg beder brugeren angive hvilket output man vil have, ud fra det valg hentes også værdien i nabocellen, der skal bruges til at sætte enheden på det tal man får.
Feks. vælger man at hente Luftmængder får man også værdien m³/h, vælger man Areal får man også værdien m².
Når jeg skal indsætte værdien vil jeg gerne formattere den så der f.eks står 2500 m³/h eller 25 m².
Hvis jeg hard koder ser det sådan ud:
 
With ActiveSheet.PivotTables("ItemList").PivotFields("Sum af " & Andetvalg)
        .NumberFormat = "#,##0 ""m³/h""" 
End With
 
Det virker.
Men nu ved jeg ikke på forhånd om "Andetvalg" er Luftmængder eller Areal, derfor er enheden hentet ned i en variabel varVal, den har jeg checket værdien er rigtig.
Men hvordan får jeg det til at virke?
 
Jeg har prøvet dette:
With ActiveSheet.PivotTables("ItemList").PivotFields("Sum af " & Andetvalg)
      .NumberFormat = "#,##0 " & varVal
End With
Excel vil ikke godkende denne syntax.
 
Jeg har prøvet mange forskellige kombinationer, men kan ikke få det til at virke.
 
Håber I kan hjælpe.
Mvh Annette
 
PS
varVal er en string



Svar:
Besked fra: Allan
Posteringsdato: 14.Jan.2011 kl. 12:57
Hej Annette,
 
Jeg tror du skal angribe problemet ved at løse udfordringen længere oppe i koden.
 
If varVal = ET_ELLER_ANDET Then
    varVal = "#.##0 ""m³/h"""
Else
    varVal = "#.##0 ""m²"""
End If
With ActiveSheet.PivotTables("ItemList").PivotFields("Sum af " & Andetvalg)
      .NumberFormat = varVal
End With
 
Hvordan ser dette ud hos dig?
 
//Allan


Besked fra: AnnetteTR
Posteringsdato: 14.Jan.2011 kl. 13:32
Hej Allan
 
Min beskrivelse var lidt forenklet - der er mange former for enheder der kan bruges, men jeg fandt ud af syntaxen, den der virker hedder:
 
Enhed1 = "#,##0 " & """" & varVal & """"
With ActiveSheet.PivotTables("ItemList").PivotFields("Sum af " & Forstevalg)
        .NumberFormat = Enhed1
End With
 
Mvh Annette


Besked fra: Allan
Posteringsdato: 14.Jan.2011 kl. 14:34
Super Annette,
 
Metoden er den samme, alligevel er det lidt underligt at den ikke godtager at man skriver direkte i .NumberFormat = xxxx når det er tale om variable strings.
 
Jeg vidste jo ikke hvordan resten af din kode så ud, så det var bare et gæt. Wink
 
//Allan


Besked fra: rassten
Posteringsdato: 15.Jan.2011 kl. 02:30
http://www.mrexcel.com/forum/showthread.php?t=521301&highlight=annette



Print side | Luk vindue