Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ansicht per Makro wählen

Ansicht per Makro wählen
30.01.2008 18:22:00
David
Hallo Leute,
ich habe einen (für mich) ziemlich kuriosen Fehler.
Ich habe eine Tabelle, in der ich verschiedene Ansichten definiert habe. Diese haben, da es sich um einzelne Monate handelt, jeweils die Namen 1-12.
Nun möchte ich in einem Makro die jeweilige Ansicht aufrufen lassen. Mein Code sieht bisher so aus:

Sub take_view()
If Environ("UserName") = "acggdxw" Then
Dim view As Byte
view = Worksheets("Food final").Range("b1").Value
MsgBox (view)                '


Komischerweise kommt als Ergebnis immer die Ansicht dabei heraus, die der Variablen "view" MINUS 1 entspricht. Wenn ich z. Bsp. in Zelle B1 als Wert "5" eingebe, wählt er mir Ansicht "4" aus, obwohl die Variable 5 korrekt übergeben wird.
Wo ist hier der Fehler? Liegt es daran, dass ich die Ansichten (und somit auch die Variable) nicht einfach als Zahl benennen durfte? Das wäre das Einzige, was MIR einfällt.
Sicherlich lässt sich der "Fehler" beheben, indem ich einfach die 1 addiere, aber ich möchte es auch gern verstehen.
Gruß
David

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ansicht per Makro wählen
30.01.2008 18:33:00
mumpel
Hallo!
Weshalb so umständlich? Ich mache das, indem ich die entsprechenden Zeilen ein- bzw. ausblende. Für jeden Monat habe ich 60 bzw. 62 Zeilen (für jeden Tag im Monat 2 Zeilen), je nach Anzahl der Tage. Diese blende ich über Makros ein bzw. aus.
Gruß, Rene

AW: Ansicht per Makro wählen
30.01.2008 18:39:41
David
Eben genau das fände ich sehr viel umständlicher.
In meiner Tabelle habe ich 90 Zeilen und 26 Spalten (pro Monat eine Wert- und eine Delta-Spalte).
Es soll während der Bearbeitung aber immer nur die Wert-Spalte des entsprechenden Monats angezeigt werden. Wahrscheinlich ginge das auch, indem ich die Variable für die entsprechende Spalte nehme und alle anderen ausblende, aber die Syntax dafür bekomme ich nicht ohne langwieriges Probieren hin, deswegen habe ich diesen für mich einfachereren Weg gewählt.
Vielleicht weiß ja trotzdem jemand die Antwort auf das Problem?

Anzeige
AW: Ansicht per Makro wählen
30.01.2008 18:44:20
David
Ich habe gerade noch was herausgefunden:
wenn ich "0" eingebe, nimmt er die Ansicht mit dem Namen "all" obwohl der Wert ja dann "1" wäre.
Ich glaube, er nimmt die Ansichten nach der Reihenfolge in der Ansichtsliste, da ich die "all" als erste definiert habe und die anderen in der Reihenfolge hintereinander...

AW: Ansicht per Makro wählen
30.01.2008 18:50:00
mumpel
Ich vermute mal, das Excel in diesem Fall den Index nimmt. Und dieser beginnt bei 0 (nicht 1).

Variable as string
31.01.2008 08:35:00
Josef
Hallo David,
wenn du "view" als String deklarierst, dann sollte es funktionieren.
Sub take_view()
Dim view As String

If Environ("UserName") = "acggdxw" Then
    
    view = Worksheets("Food final").Range("b1").Text
    
    ActiveWorkbook.CustomViews(view).Show
Else
    ActiveWorkbook.CustomViews("all").Show
End If

End Sub


Gruß Sepp



Anzeige
AW: Variable as string
31.01.2008 08:50:45
David
Bingo, das war's. Danke.
Dann lag ich mit meiner Vermutung wohl richtig, das er vorher die Zahl als "Nummer" des Eintrags definiert hat, oder?
Kann man sich die Tabelle irgendwie anschauen oder ausgeben lassen, in der man sieht, welcher Eintrag welche laufende Nummer hat?

AW: Variable as string
31.01.2008 09:10:00
Josef
Hallo David,,
kein Problem.
Sub CustomViews()
Dim cv As CustomView
Dim strT As String, l As Long

For Each cv In ThisWorkbook.CustomViews
    l = l + 1
    Cells(l, 1) = cv.Name
    Cells(l, 2) = l
Next

End Sub


Gruß Sepp



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige