Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anfrage von damals

Forumthread: Anfrage von damals

Anfrage von damals
27.04.2020 06:02:02
damals
Hallo zusammen,
ich habe vom Nepumuk diesen Code bekommen und konnte ihn leider jetzt erst testen:
Leider kommt bei If objCell.Column = 1 Then
ein Fehler. ( Opjekt erforderlich )
Der Code:
Public Sub Anzeigen()
Dim strInput As String, strOutput As String
Dim lngColumn As Long
Dim objCell As Range
Dim objWorkbook As Workbook
strInput = InputBox("Welche Nummer?", "Eingabe")
If StrPtr(strInput)  0 Then
Set objWorkbook = GetObject("L:\Troll\Allgemein\Ware\Daten.xlsx")
With objWorkbook.Worksheets("Tabelle1")
For lngColumn = 1 To 2
Set objCell = .Columns(lngColumn).Find(What:=strInput, LookIn:=xlValues, LookAt: _
=xlWhole)
If Not objCell Is Nothing Then Exit For
Next
End With
Call objWorkbook.Close(SaveChanges:=False)
If objCell Is Nothing Then
Call MsgBox("Nicht gefunden.", vbExclamation, "Hinweis")
Else
If objCell.Column = 1 Then
strOutput = objCell.Offset(0, 1).Text
Else
strOutput = objCell.Offset(0, -1).Text
End If
Call MsgBox(strOutput, vbInformation, "Information")
Set objCell = Nothing
End If
End If
End Sub

Meine Anfrage war damals:
Guten Morgen,
ich habe eine Liste auf zwei Spalten:
Spalte A und Spalte B stehen Nummer Bezeichnungen drin.
Also so:
Spalte A...Spalte B
3-18-18...3-15-18
4-68-18...4-67-17
4-65-99...4-69-77
das heißt jede Zeile gehört zusammen und ist ein Päärchen
jetzt möchte ich gerne eine Input über einen Schnellzugriff machen.
Die Datei ist in L:\Troll\Allgemein\Ware\Daten.xlsx gespeichert.
Klicke ich jetzt auf dem Button soll per Input kommen :
Welche Nummer?
Dann gebe ich ein: 4-68-18 (Spalte A) und anschließend kommt 4-67-17 (Spalte B)und mit OK schließe ich dann die Datei .
Gebe ich 4-69-77 (Spalte B) kommt 4-65-99 (Spalte A)
Es gibt keine doppelten Werte.
Wäre dies Möglich?
Danke euch.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anfrage von damals
27.04.2020 07:44:13
damals
Hallo Tim,
du hast Recht, ich habe in der selben Mappe getestet und die wird ja nicht geschlossen. Also:
Option Explicit

Public Sub Anzeigen()
    Dim strInput As String, strOutput As String
    Dim lngColumn As Long
    Dim objCell As Range
    Dim objWorkbook As Workbook
    strInput = InputBox("Welche Nummer?", "Eingabe")
    If StrPtr(strInput) <> 0 Then
        Set objWorkbook = GetObject("L:\Troll\Allgemein\Test\Daten.xlsm")
        With objWorkbook.Worksheets("Tabelle1") 'Anpassen !!!
            For lngColumn = 1 To 2
                Set objCell = .Columns(lngColumn).Find(What:=strInput, LookIn:=xlValues, LookAt:=xlWhole)
                If Not objCell Is Nothing Then Exit For
            Next
        End With
        If objCell Is Nothing Then
            Call MsgBox("Nicht gefunden.", vbExclamation, "Hinweis")
        Else
            If objCell.Column = 1 Then
                strOutput = objCell.Offset(0, 1).Text
            Else
                strOutput = objCell.Offset(0, -1).Text
            End If
            Call MsgBox(strOutput, vbInformation, "Information")
            Set objCell = Nothing
        End If
        Call objWorkbook.Close(SaveChanges:=False)
        Set objWorkbook = Nothing
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Anfrage von damals
27.04.2020 13:48:47
damals
Hey,
super hat geklappt.
Dankeschön.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige