Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA Case Abweisung mit Variablen

Frage Microsoft Microsoft Office

Mitglied: Bischoff

Bischoff (Level 1) - Jetzt verbinden

10.12.2009 um 16:33 Uhr, 6019 Aufrufe, 4 Kommentare

Hallo zusammen


Ich habe folgendes Problem.
Ich Arbeite zur Zeit in einer Mühle im Getreidesilo.
Dort werden allen Warenein-ausgänge in einem Buch aufgeschrieben und um die Arbeit zu erleichtern,
habe ich in Excel Tabellenblätter für jedes Silo erstellt bzw. habe ich vor.

Momentan habe ich ca 10-15 Silos erfasst es sind aber ca. 60 an der Zahl und um die Arbeit in Excel zu erleichtern,
habe ich Formulare erstellt in denen ich Umläufe und Wareneingänge verbuche.

Die Silos werden über eine Combobox ausgewählt z.b. Silo 15.
Das Tabellenblatt wähle ich mit einer Case Anweisung aus und die Daten werden dort eingetragen.

Nun zu meiner Frage:

Die Caseanweisung sieht momentan so aus:



Select Case Silo1
Case 13
Sheets("13").Select
Range("A6").Select
Case 14
Sheets("14").Select
Range("A6").Select
Case 15
Sheets("15").Select
Range("A6").Select
End Select


Die Zahlen stehen für die Silonummern.
Ich habe schon erfolglos versucht die Nummern durch eine Variable zu ersetzen, um nicht 50 solcher Case Anweisungen schreiben zu müssen,
was auch ziemlich unübersichtlich wäre.

Ja meine Frage ist hier ob das überhautp mit Variablen funktioniert oder ob es evtl. andere oder bessere Lösung gibt.

Hoffe mir kann hier jemand helfen.
Danke schonmal im Vorraus

Mit freundlichen Grüßen Bischoff
Mitglied: Xolger
10.12.2009 um 17:12 Uhr
Hallo,

hab mal ein Beispiel erzeugt mit dem es meiner Meinung nach einfacher geht:

Sub testsilo()
Dim silo1 As Integer
Dim Blatt As String

silo1 = 1 'Ändern zur Übergabe der Combobox
Blatt = "" & silo1 & ""
Sheets(Blatt).Select
Cells(1, 1) = "Treffer" 'Einfügen der Anweisungen

End Sub

Gruß
Xolger
Bitte warten ..
Mitglied: 76109
10.12.2009 um 17:46 Uhr
Hallo Bischoff!

In der Annahme, das die ComboBox den Silo im Format "Silo 1" zurückgibt und die Sheets nur die Nummer 1 - 60 haben, dann in etwa so:
01.
Private Sub ComboBox1_Change() 
02.
    Sheets(Split(ComboBox1.Text)(1)).Activate:  ActiveSheet.Range("A6").Select 
03.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: Bischoff
10.12.2009 um 20:35 Uhr
Also erstmal vielen Dank an euch beide!!!

Ich hab jetz die erste Version genommen, bei der zweiten hats net funktioniert kann evtl. an der Split funktion gelegen haben kenn mich damit allerdings net so gut aus trotzdem danke.

Mit freundlichen Grüßen
Bischoff
Bitte warten ..
Mitglied: 76109
11.12.2009 um 08:50 Uhr
Hallo Bischoff!

Sorry, war wohl ein Missverständnis.

Letztes Beispiel war:
Klicke in ComboBox z.B. den Eintrag "Silo 1", dann aktiviere Sheet("1")

In diesem Beispiel:
Klicke in ComboBox z.B. den Eintrag "15", dann aktiviere Sheet("15")
01.
Private Sub ComboBox1_Change() 
02.
    Sheets(ComboBox1.Text).Activate:  ActiveSheet.Range("A6").Select 
03.
End Sub
Hier zum besseren Verständnis noch ein Beispiel, dass beim anzeigen der UserForm die ComboBox mit den Nummern 1-60 im Format "01", "02", "60" initialisiert, den ersten Eintrag "01" als Vorauswahl in das Editierfeld schreibt und das dazugehörige Sheet("01") aktiviert.

Das würde dann im Ganzen z.B. so aussehen:
01.
Option Explicit 
02.
 
03.
Const SiloBeg = 1 
04.
Const SiloEnd = 60 
05.
 
06.
Private Sub UserForm_Initialize() 
07.
    Dim i As Integer 
08.
 
09.
    For i = SiloBeg To SiloEnd 
10.
        ComboBox1.AddItem Right("0" & i, 2) 
11.
    Next 
12.
     
13.
    ComboBox1.ListIndex = 0  
14.
   'Löst ein Change-Ereignis aus und aktiviert Sheets("01") 
15.
End Sub 
16.
 
17.
Private Sub ComboBox1_Change() 
18.
    Sheets(ComboBox1.Text).Activate 
19.
End Sub
Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...