Jetzt bin ich mal gespannt ob ich das versteh, wie du das
hinbekommen hat. 
Hallo Steffi,
da die Hochladlinks vergänglich sind nachfolgend der Code.
Wenn du totaler VBA-Neuling bist verstehste den Code nicht.
Stell dir das wie Englisch in der Schule vor, sagen wir mal
du lernst das vom 5-10 Schuljahr.
Mein Code ist für VBA/Englisch einfach aber verstehen kannste den erst
mit dem Wissen vom 7-ten Schuljahr.
Ist so, gut Ding will Weile haben 
Was du schon jetzt kannst in deinem fünften Schuljahr, im Code
„Sklaven“ durch „Ausgebeutete“ ersetzen *grien*
Gruß
Reinhard
Option Explicit
Private Sub CommandButton1\_Click()
Dim Zei As Long, wksQ As Worksheet
Set wksQ = ActiveSheet
Application.ScreenUpdating = False
With Worksheets("Gesamtübersicht")
Zei = .Cells(Rows.Count, 2).End(xlUp).Row + 1
If Range("B3").Value = "" And Range("B4").Value = "" Then
MsgBox "B3 und B4 leer, Vorgang abgebrochen."
Exit Sub
End If
If Range("B3").Value = "" Then
MsgBox "B3 leer, Vorgang abgebrochen."
Exit Sub
End If
If Vorhanden(Range("B3").Value) Then
MsgBox "Firma existiert schon, Vorgang abgebrochen. "
Exit Sub
End If
.Cells(Zei, 1).Value = Range("B2").Value
.Cells(Zei, 2).Value = Range("B3").Value
.Cells(Zei, 3).Value = Range("B4").Value
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Range("B3")
With ActiveSheet
.Range("A2").Value = "lfd. Nr."
.Range("A3").Value = "Firmenname"
.Range("A4").Value = "Sklavenzahl"
.Range("B2").Value = wksQ.Range("B2")
.Range("B3").Value = wksQ.Range("B3")
.Range("B4").Value = wksQ.Range("B4")
End With
wksQ.Activate
Range("B3:B4").ClearContents
End With
Application.ScreenUpdating = True
End Sub
Function Vorhanden(ByVal Firma As String) As Boolean
With Worksheets("Gesamtübersicht")
Vorhanden = Application.CountIf(.Range("B:B"), Firma) \> 0
End With
End Function