Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 6071 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

Mfg 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.

MfG
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 ..
Ähnliche Inhalte
Basic
VBA Access Variable an Query Kriteria weitergeben (1)

Frage von Everest zum Thema Basic ...

Festplatten, SSD, Raid
gelöst Festplatten Case - Schlüssel (10)

Frage von Waishon zum Thema Festplatten, SSD, Raid ...

Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

Monitoring
gelöst Dynatrace Enterprise Synthetic Monitoring, CAS, . - ALTERNATIVE GESUCHT! (2)

Frage von Rinelli zum Thema Monitoring ...

Neue Wissensbeiträge
Viren und Trojaner

Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (12)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...