Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
936to940
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
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

IF THEN

IF THEN
05.01.2008 08:40:00
christian
GUTEN MORGEN
ich habe eine suchabfrage, die nach dem suchen wenn nix gefundewn wird eine msg box aufruft
nix gefunden.
und wenn nix gefunden wird dann wird die tabelle ""Suchwerte"aufgerufen.
und wenn was gefunden wird dann wird die tabelle ""Suchwerte"ebenfalls aufgerufen.
frage:
der code soll nur dannn auf die tabelle "Suchwerte"springen wenn ein treffer gefunden wurde
'if nix gefunden wird dann nicht zur tabelle SUCHWERTE --hier braüchte ich die richtige formulierung
MsgBox "Nix gefunden"
End If
Sheets("Suchwerte").Select
danke
gruss
christian neu

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IF THEN
05.01.2008 09:28:00
Matthias
Hallo Christian,
Meinst Du so?

'if nix gefunden Then 'hier musst du deine If-Bedingung einsetzen
MsgBox "Nix gefunden"
Else
Sheets("Suchwerte").Select
End If


Gruß Matthias

AW: IF THEN
05.01.2008 09:34:00
christian
hi Matthias
danke für deine antwort.
ja genau dort muss ich es einsetzen .aber ich bin ein vba anfänger kannst mir das schreiben wie man das in vba schreibt
gruss
christian neu

AW: IF THEN
05.01.2008 09:39:00
Matthias
Hallo Christian,
ich weiß ja nicht wonach du suchst.
Gruß Matthias

AW: IF THEN
05.01.2008 09:55:37
christian
hi
ich möchte das bei der suchabfrage das macro wenn es nichts fidet nicht zur tabelle "Suchabfragen"springt
sondern auf Tabelle "Daten" bleibt!!!!!
HIER DAS GANZE MACRO:

Sub MultiSelect2()
Application.ScreenUpdating = False
Dim wks As Worksheet
Dim rngFind As Range, rngRows As Range
Dim lngRow As Long
Dim strFind As String, strSearch As String
'TEBELLE VOR DEM EINFÜGEN LEEREN
Application.ScreenUpdating = False
Sheets("Suchwerte").Select
Columns("A:S").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Sheets("Daten").Select
strSearch = InputBox("Suchbegriff:", , "Username")
If strSearch = "" Then Exit Sub
Set rngFind = Cells.Find(strSearch)
If rngRows Is Nothing Then
Set rngRows = rngFind
End If
If Not rngFind Is Nothing Then
strFind = rngFind.Address
Do
If rngRows Is Nothing Then
Set rngRows = rngFind
Else: Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
Set rngFind = Cells.FindNext(After:=rngFind)
End If
Loop Until rngFind.Address = strFind
End If
Sheets("Suchwerte").Select
If Not rngRows Is Nothing Then
With Sheets("Suchwerte")
rngRows.Copy .Range("A1")
' .Columns("D:D").Delete Shift:=xlToLeft
.Columns("A:g").EntireColumn.AutoFit
Range("a1:g5").Select
End With
Else
MsgBox "Nix gefunden"
End If
'FORMATIERUNG
Sheets("Suchwerte").Select
ActiveWindow.ScrollRow = 1
Columns("B:L").Select
Columns("B:L").EntireColumn.AutoFit
Columns("M:AH").Select
Selection.Delete Shift:=xlToLeft
Range("F1:L3").Select
With Selection.Font
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Columns("G:G").EntireColumn.AutoFit
Columns("I:I").EntireColumn.AutoFit
Columns("J:J").EntireColumn.AutoFit
Columns("K:K").Select
Columns("K:K").EntireColumn.AutoFit
Columns("L:L").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Range("H1:H19").Select
Columns("H:H").EntireColumn.AutoFit
Selection.Font.ColorIndex = 10
Range("F1").Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub


HOFFE DU VERSTEHST MICH JETZ
GRUSS
CHRISTIAN NEU

Anzeige
AW: IF THEN
05.01.2008 10:14:20
Matthias
Hallo Christian,
versuch mal dies:

Sub MultiSelect2()
Application.ScreenUpdating = False
Dim wks As Worksheet
Dim rngFind As Range, rngRows As Range
Dim lngRow As Long
Dim strFind As String, strSearch As String
'TEBELLE VOR DEM EINFÜGEN LEEREN
Application.ScreenUpdating = False
Sheets("Suchwerte").Select
Columns("A:S").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Sheets("Daten").Select
strSearch = InputBox("Suchbegriff:", , "Username")
If strSearch = "" Then Exit Sub
Set rngFind = Cells.Find(strSearch)
If rngRows Is Nothing Then
Set rngRows = rngFind
End If
If Not rngFind Is Nothing Then
strFind = rngFind.Address
Do
If rngRows Is Nothing Then
Set rngRows = rngFind
Else: Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
Set rngFind = Cells.FindNext(After:=rngFind)
End If
Loop Until rngFind.Address = strFind
End If
If Not rngRows Is Nothing Then
Sheets("Suchwerte").Select
With Sheets("Suchwerte")
rngRows.Copy .Range("A1")
' .Columns("D:D").Delete Shift:=xlToLeft
.Columns("A:g").EntireColumn.AutoFit
Range("a1:g5").Select
End With
'FORMATIERUNG
Sheets("Suchwerte").Select
ActiveWindow.ScrollRow = 1
Columns("B:L").Select
Columns("B:L").EntireColumn.AutoFit
Columns("M:AH").Select
Selection.Delete Shift:=xlToLeft
Range("F1:L3").Select
With Selection.Font
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Columns("G:G").EntireColumn.AutoFit
Columns("I:I").EntireColumn.AutoFit
Columns("J:J").EntireColumn.AutoFit
Columns("K:K").Select
Columns("K:K").EntireColumn.AutoFit
Columns("L:L").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Range("H1:H19").Select
Columns("H:H").EntireColumn.AutoFit
Selection.Font.ColorIndex = 10
Range("F1").Select
Range("A1").Select
Else
MsgBox "Nix gefunden"
End If
Application.ScreenUpdating = True
End Sub


Ich habe den Block Else MsgBox "Nix gefunden": End If" einfach nach hinten gelegt.
Gruß Matthias

Anzeige
AW: IF THEN
05.01.2008 10:39:32
christian
hi
nein leider er springt noch immer auf die tabelle Suchwerte wenn er nix findet.
ich denke da gehört irgendowo sowas eingebaut nur weis ich net wie man das in vba ausdrückt.
if msgbox.text = "nix gefunden"
then
Sheets("Daten").Select
else
msgbox "NIX GEFUNDEN"
so was in der art
danke
gruss
christian neu

AW: IF THEN
05.01.2008 11:43:00
Erich
Hallo Christian,
so etwa (ungetestet) könnte das gehen:

Sub MultiSelect2()
' Dim wks As Worksheet  ' kommt nicht vor
Dim rngFind As Range, rngRows As Range
Dim lngRow As Long
Dim strFind As String, strSearch As String
'Application.ScreenUpdating = False     ' wenn fertig getestet, aktivieren
'TEBELLE VOR DEM EINFÜGEN LEEREN
Sheets("Suchwerte").Columns("A:S").Delete Shift:=xlToLeft
Sheets("Daten").Select
strSearch = InputBox("Suchbegriff:", , "Username")
If strSearch = "" Then Exit Sub
Set rngFind = Cells.Find(strSearch)   ' Find hat mehrere wichtige Parameter!!!
If Not rngFind Is Nothing Then
strFind = rngFind.Address
Do
If rngRows Is Nothing Then
Set rngRows = rngFind.EntireRow
Else
Set rngRows = Union(rngRows, rngFind.EntireRow)
End If
Set rngFind = Cells.FindNext(After:=rngFind)
Loop Until rngFind.Address = strFind
rngRows.Copy Sheets("Suchwerte").Range("A1")
' .Columns("D:D").Delete Shift:=xlToLeft
'FORMATIERUNG
Sheets("Suchwerte").Select
Range("A1").Select
Columns("M:AH").Delete Shift:=xlToLeft
With Range("F1:L3").Font
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Columns("B:L").AutoFit
Range("H1:H19").Font.ColorIndex = 10
Else
MsgBox "Nix gefunden"
End If
Application.ScreenUpdating = True
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: IF THEN fertig
05.01.2008 11:58:00
christian
hi Erich
du bist ein wahrer meister der vba kunst!!!!!!!
es funkt prima.
vielen vielen dank
gruss
christian neu

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige