Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1312to1316
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
Inhaltsverzeichnis

Frag zu VBA Schleife

Frag zu VBA Schleife
26.05.2013 22:05:02
astis
Hallo ich hoffe ich kann hier Hilfe finden.
Ich habe einen VBA Code erstellt, der Daten aus einer IBM Konsole abfragt.
Grundlage sind hierfür Kundennummern, für jede Kundennummer soll das Makro ausgeführt werden.
Bisher habe ich das mit dieser Funktion erledigt,
strSource = InputBox("Agt Nummer eingeben vierstellig", "Auswertung Vc050")
If Trim(strSource) = "" Then Exit Sub
autECLSession.autECLPS.SetText "a119" & strSource, 5, 20

Das bringt mich nur bedingt weiter, da ich jede Nummer noch manuell in die InputBox schreiben muss. Wie kann ich die Liste den Kundennummern im Tabelle "Kunden" / Spalte "A" direkt auswählen damit es automatisch durchläuft?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frag zu VBA Schleife
26.05.2013 22:29:59
{Boris}
Hi,
was willst Du denn mit der Inputbox? Die ist nunmal für MANUELLE Eingaben gedacht...?!
Zeig mal Deinen genauen Tabellenaufbau, damit man weiß, woran man "schleifen" muss ;-)
VG, Boris

AW: Frag zu VBA Schleife
27.05.2013 07:41:03
Hajo_Zi
vielleicht so?
Sub Durchlaufen()
Dim Loletzte As Long
Dim LoI As Long
With Worksheets("Kunde")
Loletzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.ows.Count, 1).End(xlUp).Row, .Rows.Count)
For LoI = 1 To Loletzte
If .Cells(LoI, 1)  "" Then
autECLSession.autECLPS.SetText "a119" & .Cells(LoI, 1), 5, 20
End If
Next LoI
End Sub

Anzeige
AW: Frag zu VBA Schleife
27.05.2013 21:58:54
astis
zuerst einmal vielen Dank für die Hilfestellung, leider funktioniert dieser Code aber nicht... es kommt eine Fehlermeldung dass das Objekt dies nicht unterstützt.... hier mal mein gesamter Code, vielleicht fällt ja einem von euch ein, wie ich das mit der Inputbox umgehen und aus dem Tabellenblatt "kunde" direkt die Daten durchlaufen lassen kann.. .

Sub workbook_open()
Dim autECLPSObj As Object, autECLConnList As Object, autECLSession As Object
Dim strSource As String, z As Long, wksZ As Worksheet
Set wksZ = ActiveSheet
Set autECLPSObj = CreateObject("PCOMM.autECLPS")
Set autECLConnList = CreateObject("PCOMM.autECLConnList")
Set autECLSession = CreateObject("PCOMM.autECLSession")
autECLSession.SetConnectionByHandle (autECLConnList(1).Handle)
Set autECLPSObj = CreateObject("PCOMM.autECLPS")
autECLPSObj.SetConnectionByHandle (autECLConnList(1).Handle)
autECLSession.autECLOIA.WaitForAppAvailable
autECLSession.autECLPS.SetText "Vc050", 32, 48
autECLSession.autECLPS.SendKeys "[Enter]"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[PF5]"
autECLSession.autECLOIA.WaitForInputReady
start_Abfrage:
autECLSession.autECLPS.SetText "3", 5, 2
autECLSession.autECLPS.SetText "e", 5, 4
strSource = InputBox("Agt  Nummer eingeben vierstellig", "Auswertung Vc050")
If Trim(strSource) = "" Then Exit Sub
autECLSession.autECLPS.SetText "a119" & strSource, 5, 20
autECLSession.autECLPS.SendKeys "[Enter]"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[Enter]"
autECLSession.autECLOIA.WaitForInputReady (2000)
Do Until autECLPSObj.GetText(31, 2, 7) = "IS1009F"
'(Auslesen)
For z = 14 To 25
ActiveCell = Trim(autECLPSObj.GetText(z, 2, 76))
If ActiveCell.Row = wksZ.Rows.Count Then
MsgBox "Die Tabelle ist voll !!!", vbCritical
Exit Sub
End If
Selection.Offset(1, 0).Select
Next z
'(Umblättern)
autECLSession.autECLOIA.WaitForInputReady (3000)
autECLSession.autECLPS.SendKeys ("[PF2]")
autECLSession.autECLOIA.WaitForInputReady (3000)
Loop
wksZ.Cells(wksZ.Rows.Count, 1).End(xlUp).Offset(1, 0).Select
GoTo start_Abfrage
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige