Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1656to1660
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
VBA Spalte durchsuchen ob Wert vorhanden
26.11.2018 11:40:14
Christian
Hallo Forum,
ich würde gerne eine Art Prüfung vor dem endgültigen Ausführen eines Befehls einbauen.
Ich klicke auf einen CB-Button und dann soll VBA zunächst Spalte B von einem bestimmten WB durchsuchen, ob Eingabe bereits vorhanden ist.
Quasi so:
Private Sub CommandButton1_Click()
Set wkbZiel = Application.Workbooks("...")
With ThisWorkbook.Sheets("...")
If .Range ("B1").Value = 'innerhalb wbkZiel.Worksheets("...").Column(2) ' Spalte B
Then MsgBox ...
Exit Sub
End If
End With
Vielen Dank im Voraus für die Hilfe :-)!
LG,
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Spalte durchsuchen ob Wert vorhanden
26.11.2018 11:45:00
Daniel
Hi
kannst du beispielsweise mit ZählenWenn (in VBA Worksheetfunction.CountIF) prüfen:
if Worksheetfunction.Countif(wbkZiel.Worksheets("...").Columns(2), .Range ("B1").Value) Then
im IF wird 0 wie FALSE und jeder andere Zahlenwert wie TRUE gewertet.
Gruß Daniel
AW: VBA Spalte durchsuchen ob Wert vorhanden
26.11.2018 13:53:45
Christian
Hi Daniel,
vielen Dank für die schnelle Hilfe!
Leider scheitere ich an der Umsetzung als "VBA-Noob".
Mein Code ist nachfolgender und meckert bzgl. "wkbZiel.Open", und der erste Teil funktioniert auch nicht, es erfolgt keine MsgBox obwohl IF wahr ist.
Bin damit etwas überfordert ...
Private Sub CommandButton1_Click()
Dim wkbZiel As Workbooks
Set wkbZiel = Workbooks("\\XYZ\server01\FO\ÜbersichtGes.xlsm")
With ThisWorkbook.Sheets("FOX")
If WorksheetFunction.CountIf(wbkZiel.Worksheets("Übersicht1").Columns(2), .Range("B1"). _
Value) Then
MsgBox "...", vbExclamation, "Hinweis"
Exit Sub
End If
If MsgBox("...", vbYesNo, "Bestätigung") = vbYes Then
wkbZiel.Open
With wkbZiel.Worksheets("Übersicht1")
.Rows("2:2").Insert Shift:=xlUp
.Range("A2").Value = Range("R1").Value
End With
wkbZiel.Close True
End If
End With
End Sub
LG,
Christian
Anzeige
AW: VBA Spalte durchsuchen ob Wert vorhanden
26.11.2018 14:00:39
Daniel
Hi
das ganze funktioniert so nur, wenn du zuerst die Datei öffnest, da du in VBA sowieso nur mit geöffneten Dateien arbeiten kannst.
auch ein Set wkbZiel = Workbooks(...) geht nur mit einer geöffneten Datei, bzw gleichzeitig mit dem Öffnen der Datei.
korrekt wäre am Anfang ein, damit öffnest du die Datei und weist sie gleich einer Variablen zu.
Set wbkZiel = Workbooks.Open("\\XYZ\server01\FO\ÜbersichtGes.xlsm")

wenn du vor dem Öffnen überprüfen willst, ob ein Wert in einer Spalte vorkommt, dann musst du das entsprechende ZählenWenn mit dem Externen Zellbezug in eine Zelle schreiben und diese Zelle abfragen.
Gruß Daniel
Anzeige
Danke, Daniel!
26.11.2018 15:52:02
Christian
Hi Daniel,
danke für deine Hilfe & deine Erläuterung!
LG,
Christian

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige