Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1164to1168
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
wert per VBA in nächste leere zelle schreiben
Michael
hallo!
ich brauche bitte hilfe. ich habe eine leere tabelle und möchte diese mit werten füllen. allerdings nur so, dass kein wert doppelt vorkommt. habe folgenden ausdruck, hänge jetzt aber. die kontrolle funktioniert, nur das einfügen in die nächste leere zelle der spalte A bekomme ich nicht hin.
hier der code:
Sub Schaltfläche1_KlickenSieAuf()
Dim str1 As String
Dim c As Range
With Worksheets("KONTROLLE").Range("A1:A1000")
str1 = InputBox("Artikel lesen", "Artikel")
Set c = .Find(str1, LookIn:=xlValues)
If Not c Is Nothing Then
MsgBox ("Artikel -- " & str1 & " -- bereits vorhanden"), vbExclamation, "ENDE"
Else
End If
End With
End Sub
könnt ihr mir da bitte helfen?
danke!!
mike

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: wert per VBA in nächste leere zelle schreiben
26.06.2010 09:55:04
fcs
Hallo Michael,
du solltest auch noch einen Parameter für die Suche ergänzen.
Gruß
Franz
Sub Schaltfläche1_KlickenSieAuf()
Dim str1 As String
Dim c As Range
With Worksheets("KONTROLLE")
str1 = InputBox("Artikel lesen", "Artikel")
Set c = .Columns(1).Find(str1, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
MsgBox ("Artikel -- " & str1 & " -- bereits vorhanden"), vbExclamation, "ENDE"
Else
If IsEmpty(.Cells(1, 1)) Then
.Cells(1, 1).Value = str1
Else
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = str1
End If
End If
End With
End Sub

Anzeige
AW: wert per VBA in nächste leere zelle schreiben
26.06.2010 10:08:00
Michael
super danke!
letzte frage: wäre möglich, wenn der artikel geschrieben wurde, sich wieder das fenster für die eingabe des nächsten öffnet, ohne dass wieder den button drücken muss?
AW: wert per VBA in nächste leere zelle schreiben
26.06.2010 11:24:12
fcs
Hallo Michael,
mit der folgenden Anpassung wird die Inputbox solange wieder angezeicht, bis kein Text eingegeben ist oder der Abbrechen-Button gewählt wird.
Gruß
Franz
Sub Schaltfläche1_KlickenSieAuf()
Dim str1 As String
Dim c As Range
With Worksheets("KONTROLLE")
Do
str1 = InputBox("Artikel lesen", "Artikel", Default:=str1)
If str1 = "" Then Exit Do 'Abbrechen wurde gewählt
Set c = .Columns(1).Find(str1, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
MsgBox ("Artikel -- " & str1 & " -- bereits vorhanden"), vbExclamation, "ENDE"
Else
If IsEmpty(.Cells(1, 1)) Then
.Cells(1, 1).Value = str1
Else
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = str1
End If
End If
Loop
End With
End Sub

Anzeige
AW: wert per VBA in nächste leere zelle schreiben
26.06.2010 12:45:44
Michael
danke, funktioniert nun alles super!!
vielen dank nochmal!!
AW: wert per VBA in nächste leere zelle schreiben
26.06.2010 10:09:05
Gerd
Hallo Mike!
Mit noch etwas Feile an der Messagbox.
Sub Schaltfläche1_KlickenSieAuf()
Dim str1 As String, strMsg As String
Dim c As Range
str1 = InputBox("Artikel lesen", "Artikel")
If Len(str1) = 0 Then
strMsg = "Keinen Suchbegriff eingegeben!"
Else
With Worksheets("KONTROLLE").Range("A1:A1000")
Set c = .Find(str1, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
strMsg = "Artikel -- " & str1 & " -- bereits vorhanden"
Else
.Cells(IIf(Len(.Cells(1, 1)) = 0, 1, IIf(Len(.Cells(2, 1)) = 0, 2, .Cells(1, 1).End( _
xlDown).Row + 1)), 1) = str1
End If
End With
End If
If Len(strMsg) > 0 Then MsgBox strMsg, vbExclamation, "ENDE"
End Sub
Gruß Gerd
Anzeige

427 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige