AW: Code funktionert nicht korrekt
30.04.2015 08:24:43
fcs
Hallo Micha,
die genauen Aktionen, die du ausführen möchtets sind fürmich nicht 100% klar. Insbesondere was statt der Selection der Schaltflache tatsächlich passieren soll.
Die Auswahl der Zellen für SAP-Nr. und Artikel kann man über eine Variante der Input-Box in Excel steuern.
Gruß
Franz
Private Sub cmbBestellung_Click()
Dim varZelleAuswahl
Dim varZelleArtikel As Range, intOffset As Integer
Dim ZelleArtikel_1 As Range
On Error GoTo Fehler
'Schließt das Formular frmBestellung
Unload frmBestellung
'Übernimmt per Klick die SAPNr.
Auswahl_SAP_Nr:
Set varZelleAuswahl = Application.InputBox( _
Prompt:="Bitte Zelle mit SAP-Nr. in Spalte B auswählen", _
Title:="Auswahl SAP-Nr", _
Type:=8)
'Prüfen, ob SAP-Nr. in Spalte B ausgewählt wurde
If varZelleAuswahl.Column 2 Then
MsgBox "Gewählte Zelle: " & varZelleAuswahl.Address & vbLf _
& "SAP-Nr muss in Spalte B ausgewählt werden!", _
vbOKOnly, "SAP-Nr auswählen"
GoTo Auswahl_SAP_Nr
End If
' ActiveSheet.Shapes.Range(Array("Button 12")).Select
' Selection.OnAction = "CommandBestellung_ausloesen"
' Range("B2").Select
Call CommandBestellung_ausloesen '?
varZelleAuswahl.Copy
Sheets("Befundzettel").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Befundmaterial_STE110").Select
Auswahl_Artikel:
'ARTIKEL AUSWÄHLEN(irgendwo SPALTE B)
Set varZelleAuswahl = Application.InputBox( _
Prompt:="Bitte Zelle(n) mit Artikel in Spalte B auswählen", _
Title:="Auswahl Artikel", _
Type:=8)
'Prüfen, ob Artiel in Spalte B ausgewählt wurden
For Each varZelleArtikel In varZelleAuswahl.Cells
If varZelleArtikel.Column 2 Then
MsgBox "Gewählte Zelle: " & varZelleArtikel.Address & vbLf _
& "Artikel muss in Spalte B ausgewählt werden!", _
vbOKOnly, "Artikel auswählen"
GoTo Auswahl_Artikel
End If
Next
' ActiveSheet.Shapes.Range(Array("Button 12")).Select
' Application.CutCopyMode = False
' Selection.OnAction = "CommandBestellung_ausloesen"
Call CommandBestellung_ausloesen '?
Sheets("Befundzettel").Select
'Zelle in der der 1. Artikl eingetragen werden soll
Set ZelleArtikel_1 = Sheets("Befundzettel").Range("D10")
For Each varZelleArtikel In varZelleAuswahl.Cells
If varZelleArtikel.Column = 2 Then
varZelleArtikel.Copy
ZelleArtikel_1.Offset(intOffset, 0).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
intOffset = intOffset + 1
Else
MsgBox "Dies Zelle """ & varZelleArtikel.Address _
& """ wurde nicht in Spalte B ausgewählt!", _
vbOKOnly, "gewählte Artikel.eintragen"
End If
Next
Application.CutCopyMode = False
Sheets("Befundmaterial_STE110").Select
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case 13 'Typfehler
'Zellauswahl in Inputbox wurde abgebrochen
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub